JAVA基础细谈

一. 源文件和编译后的类文件

    源文件的本质就是程序文件,是程序员编写,是人看的。而编译后的类文件是给电脑看的文件。一个类就是一个文件,无论这个类写在哪里,编译以后都是一个文件。源文件通过java编译生成类文件,后缀名为”.java“的是源文件,后缀为“.class”的为类文件。如图

二. 语句

   java程序的组成是类文件,类文件的组成是方法,方法的组成语句。语句是任何程序的基本单位,不可再分。一个语句就对应的有一条计算机指令,一条指令就会对应着一个程序操作,就会有相应的内存变化。而操作的对象是数据。其中一个“;”就是一个语句。

三. 注释

    注释实在程序编写过程中给人看的,电脑会自动忽略。分为三种“//”是注释单行,“/*java*/”注释多行,“/**java*/”是生成说明文档。如图实例:

四. 名字的命名

   标识符就是名字,需要程序员自己命名。

标识符命名规则:

(1)标识符由:数字,大小写字母,下划线,美元符号构成,别的不行。
      (2)必须以:字母,下划线,或美元符号开头,数字不能开头   。
      (3)关键字不能做标识符,int class 等。
      (4)标识符区分大小写(java严格区分大小写)。
      (5)理论上没有长度限制 。

五. 基本数据类型

数值型 : byte,short,int,long,float,double    例如:    字符型 : char     例如:    布尔型 : boolean

例如:

    布尔型数据类型,只能true,false,不可以用0,非0代替,和C,php不同。
    char : '',一个字母,一个汉字,单引号''.""。
    Unicode,每个字符占两个字节,可用十六进制编码表示,全球语言统一编码。
    转义字符 : \改变后面紧跟的那个字母的含义:\r,\n  Linux,Unix,Windows \r\n 。
    进制转换 : 2-8-10-16。
    整数类 型 : 1,2,4,8长度;十进制,8,16,0x;整型默认是int,long,必须加L/l,即使指明了也不行。
    浮点类型 : F/f,默认是double,float = 必须加f;浮点数是有误差的。

 六.基本数据类型转换

boolean:和其他数据类型不能相互转换。
    整型,字符,浮点:向高精度转换。
    (byte,short,char)->int->long->float->double   。
    byte,char,short之间不会相互转换,计算时,都自动转为int类型。
    高精度向低精度转换,强制转换,精度降低或溢出。注意 : 多种数据类型转换,默认转成数据精度最高的那种。
    实数字面量默认是double 。
    整字面量数默认是是int 。
    为什么float,long,需要加L,F?变量首先是字面量,字面量是有默认类型的(默认长度),如果字面量超过他的默认长度就会报错,但是字面量加上FL以后,编译器就不会给默认长度,而是给实际长度了.还没有到变量命名,指定数据类型(长度)哪一步,(前面的标签时给运行时用的),就已经报错了,这里可以看着从右往左运行(看编译器原理)。
    float f = 0.1,默认是double类型,长度比float大。
    如果赋值给float需要加F,或者强制转换.float f = 0.1f;float f = (float)0.1。
    long i = 88888888888888,默认是int类型,需要加L,或者强制类型转换。
    自动数据类型转换,强制数据类型转换,记住这个就可以了。
    几个注意点:前面是 byte,short,float,char

 七. 运算符

算术操作符  :  +, -, *, /, %, ++, --

关系运算符   :   >, <, >=, <=, ==, !=

        逻辑运算符   :  |, &, !, ||, &&, ^(异或)
        位运算符      :   |. &, !, ~, >>, <<, >>>
        赋值运算符   : +=, -=, *=, /=, %=

        字符串连接符: +
        注意点          : ++i, i++的区别先运算后取值(复制),先取值(复制)后运算的区别

这个输出的结果是a为101;b为101

这个输出结果中a为101;b为100

八. 流程控制

(1). if....else 分为四种:

第一种为

       第二种为 
          

      第三种为

 

第四种为

(2). switch....case

格式为

举一个实例:

(3). while

输出的结果是0123456789    (特点是先判断后执行)

(4). do....while

(5). for

输出的结果为10 9 8 7 6 5 4 3 2 1

上面的的这几种是可以相互嵌套的。那就不是基础了,后面会拿“for”具体说一说

   九. 方法

方法的定义:
   [方法修饰符列表] 方法返回值类型 方法名(参数1,参数2,参数3....){
           执行语句;
   }      (牢记,很重要,很重要)
 
   1   方法修饰符列表是可选的:权限控制的  :  public protected private /static
   2   返回值类型:11中数据类型中的任意一种类型。
   3   没有返回值就:void
   4   方法名只要是合法的标识符即可。
   5   方法形参列表,多个逗号隔开,形参也要指明数据类型。
  形参  :  是指在函数/方法定义处,那些参数;数据类型 变量名, 数据类型,变量名。
  实参  :  是指在函数调用处,传入的那个参数。
   6   在方法体内部,如果有返回值(类型),用return语句;且return是结束函数的作用。
   程序语句执行的顺序的问题:
       除了传统的从上往下,从左往右,在面向对象,和方法中,就是函数的调用,由于方法,函数的出现,就可以任意的顺序的写代码,而不用考虑执行的上下关系。

就这些了,其实东西不难理解,就是零碎,往更细了说里面东西那就太多了!下面会写一篇实例应用,”for“循环的双层嵌套。

JAVA基础细谈的更多相关文章

  1. 【推荐】JAVA基础◆浅谈3DES加密解密

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  2. Java程序员从笨鸟到菜鸟之(五十一)细谈Hibernate(二)开发第一个hibernate基本详解

    在上篇博客中,我们介绍了<hibernate基本概念和体系结构>,也对hibernate框架有了一个初步的了解,本文我将向大家简单介绍Hibernate的核心API调用库,并讲解一下它的基 ...

  3. 【细谈Java并发】谈谈LinkedBlockingQueue(转)

    最近在看concurrent包的知识,看到LinkedBlockingQueue,发现一篇好文推荐给大家.原文地址:[细谈Java并发]谈谈LinkedBlockingQueue 1.简介 上篇我们介 ...

  4. Java基础之浅谈接口

    前言 前几篇文章我们已经把Java的封装.继承.多态学习完了,现在我们开始比较便于我们实际操作的学习,虽然它也是Java基础部分,但是其实入门容易,精通很难. 我认真的给大家整理了一下这些必须学会.了 ...

  5. [Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    如若转载请注明出处: http://www.cnblogs.com/wang-meng/p/5898837.html   谢谢.上一篇发了一个找工作的面经, 找工作不宜, 希望这一篇的内容能够帮助到大 ...

  6. java基础常见面试题,这是一篇超长的随笔!!!

    1. Java基础部分....................................................... 4 1.一个".java"源文件中是否可以包括 ...

  7. 转载:[Java面经]干货整理, Java面试题(覆盖Java基础,Java高级,JavaEE,数据库,设计模式等)

    原文:http://www.cnblogs.com/wang-meng/p/5898837.html 一:继承.抽象类与接口区别.访问控制(private, public, protected,默认) ...

  8. 笔试题之java基础

    Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法,其他.有些题来自网上搜集整理,有些题来自传智 ...

  9. Java基础部分 2

    一. Java基础部分 2 1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 2 2.Java有没有goto? 2 3.说说&和&&am ...

随机推荐

  1. iOS- Exception Type: 00000020:什么是看门狗机制(转)

    1.前言    前几天我们项目闪退之后遇到的一个Crash,之后逛了许多论坛,博客都没有找到满意的回复  在自己做了深入的研究之后,对iOS的看门狗机制有了一个基本的了解  而有很多奇怪的Crash可 ...

  2. GDI+ ColorMatrix的完全揭秘

    无论是用何种语言,只要使用过Windows的GDI+的人对ColorMatrix都不陌生,我的BLOG文章中也多次提到过,并在<GDI+ for VCL基础 -- 颜色调整矩阵ColorMatr ...

  3. 【Lintcode】二叉树的最大深度 - 比较简单,用递归比较好,不递归也能做,比较麻烦

    给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的距离. 您在真实的面试中是否遇到过这个题? Yes 样例 给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5 这个二叉树的 ...

  4. 淘宝HSF 框架使用 总结

    @(JAVA开发) 淘宝HSF 框架使用 总结 随着网站访问量增加,仅仅靠增加机器已不能满足系统的要求,于是需要对应用系统进行垂直拆分和水平拆分.在拆分之后,各个被拆分的模块如何通信?如何保证性能?如 ...

  5. sql的一些知识_函数_汇总数据

    汇总数据 avg()---------求平均数 值得注意的是:avg()只能用于一个列的平均值查询,多个列的平均值请使用多个avg() avg()忽略null值 count()-------计数(指定 ...

  6. Laravel 设置语言不生效的问题

    使用了validate 验证,提示错误默认是 英文的.将en 改为zh-CN 后 运行 composer require "overtrue/laravel-lang:~3.0"时 ...

  7. 实现TextView中link的点击效果

    朋友们,你们在TextView处理link的时候是不是一直被苦逼的android默认的方式困扰?每次点击link的时候,点击效果是整个textview来响应.非常烂吧?原因就不多赘述了. 那么以下这个 ...

  8. java要在命令行执行eclipse的项目的方法

    在命令行运行eclipse的项目时须要把该项目生成一个能够运行的jar包,才干够在命令行下运行:分为两种情况,一种是项目中没有调用第三方的jar包,这样的比較简单.网上的资源也非常多,本文主要讲述第二 ...

  9. Ubuntu Server 12.04 乱码

    sudo vim /etc/default/locale 将 下面的内容修改 LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh" 修改 ...

  10. .Net 中的反射(动态创建类型实例)

    动态创建对象 在前面节中,我们先了解了反射,然后利用反射查看了类型信息,并学习了如何创建自定义特性,并利用反射来遍历它.可以说,前面三节,我们学习的都是反射是什么,在接下来的章节中,我们将学习反射可以 ...