java程序员菜鸟入门之二java编程基础

一、java语法

    java代码都定义在类中,类由class来定义,严格区分大小写,命名规则遵循驼峰命名法,见名知意。

   main方法:程序的入口;程序能够独立运行的前提;可以被JVM调用

二、java注释

1、单行注释(//)://后面的文字至本行结束的所有字符都会被编译器忽略

2、多行注释(/* */):/* */包裹中的所有字符都会被编译器忽略

3、文档注释(/** */):以/**开头,以*/结束,在/** */之间的所有字符会被编译器忽略,还可以用于生成文档

注:多行注释和文档注释不可嵌套,因为其会按照固定的注释格式找注释范围。多行文档注释常用于类名、方法名之前,会被编译器忽略,但用于生成文档

三、java关键字

java关键字就是被java语言赋予了特殊含义的单词,程序中的标识符不能再以关键字来命名了

1、package、class、extends、final、import、implements、interface、void、synchronized

2、boolean、char、byte、double、false、float、int、long、short、true

3、abstract、new、null、static、super、this、throw、throws、try

4、break、case、catch、continue、finally、for、else、if、return、switch、while

5、default、const、do、goto、instanceof、native、strictfp、transient、volatile

6、private、protected、public

四、java标识符

java标识符就是java自定义的名称,例如类名、方法名、变量名、包名、参数名、接口名

1、由字母(汉字)、数字、下划线_、$组成,不能以数字开头,严格区分大小写

2、为了提高阅读性,采用见名知意的命名规则,采用驼峰命名规则

3、建议,常量名所有字母大写

4、不能用java关键字与java保留字命名

五、java常量

java常量表示程序中固定不能改变的值,web项目中,通常都会单独命名一个类,来包装这些固定不变的值

1、整数常量:所有整数

2、小数常量:所有小数

3、布尔型常量:只有true和false

4、字符常量:将一个数字、字母(汉字)或者符号用单引号( ' ' )标识

5、字符串常量:将一个或者多个字符用双引号(“ ”)标识

6、null常量:表示对象的引用为空

六、java变量

在程序运行期间,随时可能产生一些临时数据,应用程序会将这些数据保存在一些内存单元中,每个内存单元都用一个标识符来标识。这些内存单元被称为变量,定义的标识符就是变量名,内存单元中存储的数据就是变量的值。

1、变量的定义格式:数据类型  变量名 = 初始化值;

2、局部变量与成员变量:局部变量(不是声明在类体括号里面的变量,局部变量使用前必须初始化值,局部变量没有默认初始化值,局部变量的作用域是从定义开始到定义它的代码块结束、在栈中存储,生命周期相对较短),成员变量(在方法体外,类体内声明的变量,成员变量的作用是整个类中、在堆中存储,生命周期相对较长),局部变量是定义在方法中的变量,出了该方法就不能访问该变量了,成员变量是在类中定义,并且在类的成员方法中都能访问的变量。

3、变量的数据类型:基本数据类型、引用数据类型

4、变量的作用范围:一对{ }之间有效

七、java基本数据类型(8种基本数据类型)

Java是一门强类型的语言,它对变量的数据类型有严格的限定。在定义变量时必须声明变量的类型,在为变量赋值时必须赋予和变量同一种类型的值,否则程序会报错,8种基本数据类型是Java语言内嵌的。

1、整数类型:byte(字节型,占1个字节);短整型(short,占2个字节);整型(int,占4个字节); 长整型(long,占8个字节,值后加l或L)

2、浮点类型:float单精度浮点型、4个字节,值后加f或F);double双精度浮点型,8个字节)

3、字符型:char(2个字节,有且只有1个字符

4、布尔型:boolean(只有两个值:true、false)

八、java引用数据类型

引用数据类型是在Java程序中由编程人员自己定义的变量类型

包括:类(class)、接口(interface)、数组、枚举(enum)、注解(annotation)

九、数据类型的转换

1、自动类型转换(隐式类型转换):目标类型的取值范围大于源类型的取值范围(小转大)

2、强制类型转换(显式类型转换):目标类型继承了或者实现了源类型(大转小)

注:强制类型转换容易造成数据精度丢失

十、java运算符

1、算术运算符:

+ 正号 +3 3
- 负号 b=4;-b; -4
+ 5+5 10
- 6-4 2
* 3*4 12
/ 5/5 1
% 取模(即算数中的求余数) 7%5 2
++ 自增(前) a=2;b=++a; a=3;b=3
++ 自增(后) a=2;b=a++; a=3;b=2
自增(前) a=2;b=–a; a=1;b=1
自增(后)
注:自增自减运算符时,注意是在自增自减之前进行运算还是在之后运算

2、赋值运算符:=(赋值)、+=(加等于)、-=(减等于)、*=(乘等于)、/=(除等于)、%=(模等于)

3、比较运算符:比较运算符用于对两个数值或变量进行比较,其结果是一个布尔值,即true或false

                          ==(相等于)、 !=(不等于)、  >(大于)、<(小于)、>=(大于等于)、<=(小于等于) 

                          注:比较运算符==与赋值运算符=的区别

4、逻辑运算符:逻辑运算符用于对布尔型的数据进行操作,其结果仍是一个布尔型

                          &(与)、|(或)、!(非)、^(异或)、&&(短路与)、||(短路或)

                         注:注意区别普通&、|与&&、||的区别

5、位运算符:位运算符是针对二进制数的每一位进行运算的符号,它是专门针对数字0和1进行操作的

6、运算符的优先级:在对一些比较复杂的表达式进行运算时,要明确表达式中所有运算符参与运算的先后顺序,编写程序时,尽量使用括号()来实现想要的运算顺序,以免产生歧义。

7、三元运算符:三元运算符的标准格式:  布尔表达式?表达式1:表达式2(若布尔表达式为true,则结果是表达式1,否则就是表达式2,运算必然有结果,和if (){} else {}比简化了代码)

十一、java语句(程序流程控制语句)

1、顺序结构:如果代码里没有流程控制,程序是至上而下一行一行执行的,一条语句执行完之后继续执行下一条语句,直到程序的最后。

2、分支结构(条件结构):

                   if语句:基本语法:if(表达式){方法体}else if(表达式){方法体}else(方法体)
                  几种形式:(三种格式:if(条件表达式){执行语句;};if(条件表达式){执行语句;}else{执行语句;};if(条件表达                                           式){执行语句;}else if (条件表达式){执行语句;}……else{执行语句;})

                    switch控制语句:基本语法:switch(表达式){case 表达式可能的结果值1:执行语句;break;case 表达式可能的果                                               值2:执行语句;break;...default:执行语句;break;//最后这个一般不写}

                                           注:case之间与default没有顺序。先执行第一个case,都没有匹配的case值执行default;switch                                                     语句只能使用byte、char、short、int四种基本类型以及它们的包装类和枚举

3、循环结构:while结构(事先不需要知道循环执行多少次);do  while(事先不知道要执行多少次,只是至少要执行一次(先                         做,后判断);for结构(需要知道循环次数)

                    注:增强for循环结构,前提是泛型技术,缺点是不能操作数组和集合中的元素,结构:for(数据类型 变量 : 数组                              或者集合){ 循环执行体 }

4、控制循环结构:break(跳出循环),continue(跳出本次循环,继续下一次循环)

十二、java方法

1、方法的定义:方法也称为函数,就是定义在类中的具有特定功能的一段独立代码块,定义方法可以将功能代码进行封装,实现独立的功能,提高了代码的复用性。

2、方法的解析:方法的格式:修饰符 返回值类型方法名(参数类型形式参数1,参数类型形式参数2,…) { 执行语句;return返回                                                 值;//考虑有无返回值}

                         方法的解析:修饰符(对访问权限进行限定);返回值类型(用于限定返回值的数据类型);参数类型(用于限                                              定调用方法时传入参数的数据类型);方法名(是一个变量,用于接收调用方法时传入的数据);                                              返回值(被return语句返回的值,该值会返回给调用者);return关键字(用于结束方法及返回方                                               法指定类型的值)

3、方法的重写与方法的重载:方法重载(方法名相同,参数类型不同或者参数个数不同),方法重写(方法名,参数都相同,                                                 就方法体不同,存在于父类与子类,接口与实现类中)

注:方法只有定义在类中,并且只有在调用时才会被执行,方法结束后,方法里的对象就失去了引用

十三、java数组

1、数组的定义:同一种类型数据的集合,数组就是一个容器

                         数组常见异常(数组角标越界异常、空指针异常)

                        动态初始化(先定义后赋值)、静态初始化(定义时即给数组赋值)

2、数组的遍历:数组的索引,数组的最值,数组的遍历,数组的排序,多维数组

十四、内存结构

JVM在程序的运行时期把内存分为5片区域:栈内存、堆内存、方法区、本地方法区、寄存器。

1、栈内存:运行方法,存储局部变量,当数据使用完,所占空间会自动释放。

2、堆内存:存储实体对象的,数组,成员变量,数组和对象,通过new建立的实例都存放在堆内存中,每一个实体都有内存地                      址值,实体中的变量都有默认初始化值,实体不在被使用,会在不确定的时间内被垃圾回收器回收。

3、方法区:存储写的方法

4、本地方法区:JVM调用Windows底层功能使用

5、寄存器:JVM通过Windows和CPU对话的时候使用


你可能感兴趣的:(java程序员菜鸟入门之二java编程基础)