java基础课程笔记整理——Chapter2

JAVA基础知识

    • 标识符与关键字
    • 命名规则
    • 编译风格
    • 数据类型
      • 引用数据类型
      • 基本数据类型
      • 基本数据类型的数据类型转换
    • 输入
    • 输出
    • 运算符和表达式
    • 语句的概述

标识符与关键字

标识符:用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符(即一个名字)
语法规则
由字母,下划线,数字,美元符号$组成,且第一个字符不能是数字
标识符不能有关键字
标识符不能是true,false,null(它们不是Java关键字)
Java语言使用Unicode标准字符集

关键字:Java语言中已经被赋予了特定意义的一些单词,不能作为标识符

命名规则

1.匈牙利命名规则(大驼峰)

String MyCourseName="JAVA";  //所有单词首字母大写,类名习惯采用该规则

2.JAVA命名规则(小驼峰)

String myCourseName="JAVA";   //第一个单词首字母小写,第二个及之后的单词首字母大写
                              //变量名和方法名习惯采用该规则                         

3.UNIX命名规则

String my_course_name="JAVA";  //字母全部小写,单词间用下划线隔开

编译风格

在编写Java程序时,许多地方都涉及使用一对大括号,如类的类体,循环语句的循环体等,即俗称的“代码块”,都是用一对大括号括起的若干内容。
它有两种流行的写法:Allmans风格和Kernighan风格
Allmans风格也称“独行”风格,即左、右大括号各自独占一行,当代码量较小时适合使用这种分格,代码布局清晰,可读性强。

Kernighan风格也称“行尾”风格,即左大括号在上一行,而右大括号独占一行,当代码量较多时不适合用“独行”风格,代码清晰度会降低,而适合用“行尾”风格。

注释:为了便于代码的维护和阅读
两种注释格式:单行注释,多行注释。给代码增加注释是一个良好的编程习惯。
单行注释://….
多行注释:
/*……
…………
*/

数据类型

引用数据类型

引用数据类型
数组
接口

基本数据类型

基本数据类型
逻辑类型 boolean
字符类型 char
整数类型 byte short int long
浮点类型 float double

逻辑类型:
常量:true ,false
变量:使用关键字boolean来声明逻辑变量,声明时也可以赋给初值
【注意:C语言规定逻辑类型可以和数值类型互换——非0为true,Java语言中逻辑类型和数值类型不可进行互换】

整数类型:

byte型:
使用byte来声明变量,占1个字节,可以把一定范围的int型常量赋给byte变量。Java中不存在byte常量的表示法,如果需要强调一个整数是byte类型数据时,可以使用强制类型转换运算的结果来表示eg(byte)12

short型:
使用short来声明变量,占2个字节,可以把一定范围的int型常量赋给short变量。Java中不存在short常量的表示法,如果需要强调一个整数是short类型数据时,可以使用强制类型转换运算的结果来表示eg(short)12

int 型:
常量:十进制,八进制(0开头),十六进制(0x开头)
变量:使用int声明,占4个字节,-231~231-1

long型:
常量:用后缀L来表示(eg108L十进制,0342L八进制,0x23L十六进制)
变量:用long声明变量,占8个字节

字符类型:
常量:用单引号括起来的Unicode表中的一个字符
变量:使用关键字char来声明char型变量,占2个字节,最高位不是符号位,没有负数
注意特殊的常量:转义字符常量,eg \u (unicode编码值)

注:要知道一个字符在Unicode表中的顺序位置,可以使用(int)进行类型转换;如果要得到一个0~65535之间的数所代表的Unicode表中位置相应的字符必须使用(char)类型显性转换

浮点类型:

float型:
常量:小数表示法和指数表示法,!!!在常量后面必须要有后缀“f”或“F”
变量:使用float声明,占4个字节。float变量在存储float型数据时保留8位有效数字,实际精度取决于具体数值

double型:
常量:小数表示法和指数表示法。对于double类型的常量后面可以有后缀“D”或“d”,也可以省略
变量:使用double声明,占8个字节,存储时保留16位有效数字,实际精度取决于具体数值(相对float的保留有效数字,称之为双精度)

基本数据类型的数据类型转换

基本数据类型(不包括boolean型)按精度从“低”到“高”排列:
byte short char int long float double
规则:
1.将级别低的变量的值赋给级别高的变量时,系统会自动完成数据类型转换
2.把级别高的变量的值赋给级别低的变量时,必须手动进行显示类型转换(强制类型转换)

【BH补充注意事项】:
1.boolean类型不能发生数据类型转换
2.强制类型转换一般不推荐使用,因为有可能发生精度损失,数据溢出
3.byte,short,char这三种数据类型都可以发生数学运算,它们在运算时,都会首先自动转换成int类型然后再计算
4.对于byte,short,char数据类型来说,右边为级别高整数类型的常量,没有写强制类型转换,如果右边数据没有超出范围,那么javac.exe编译器会自动隐含地补上(byte),(short),(char),如果超出范围,编译器会直接报错
5.在变量进行赋值的时候,如果右侧的表达式中全部是常量,没有任何变量,那么编译器 javac.exe会直接将若干常量计算得到结果
eg short result=3+5;编译之后,class字节码文件中就相当于short result=13;这种称为编译器的常量优化,但要注意,一旦表达式当中有变量参与,那么就不能进行这种优化了。
eg

 short a=3,result;
result=a+5;  // 编译器会报错,int不能赋给short类型

6.整数常数没加后缀则表示int型,浮点数没加后缀表示double型

输入

Scanner 是JDK1.5后新增的一个类,可以使用该类创建一个对象eg

Scanner in =new Scanner(System.in);

然后in对象调用下列方法,读取用户在命令行(eg MS-DOS窗口)输入的各种基本类型数据:nextBoolean();nextByte();nextInt();next.Short();next.Long();nextFloat();nextDouble();
nextLine();上述方法执行时都会堵塞,程序等待用户在命令行输入数据并按Enter键确认

Scanner 对象可以调用hasNextXXX()方法判断用户输入的数据类型
当输入带小数点的数据eg13.14时,in.hasNextDouble()返回值为true,而in.hasNextInt()等的返回值为false;
当输入一个byte取值范围内的整数时eg11,则in.NextByte(),in.NextInt(),in.NextDouble(),in.NextLong()等的返回值是true
可以利用这个来结束未知次数的循环输入eg

while(in.NextDouble()){..
}//当输入非数字数据时in.NextDouble返回值为false,循环结束

输出

System.out.println()System.out.print()可输出串值、表达式的值,两者的区别在于前者输出数据后换行,后者不换行。
【BH注意事项】:
“+”:
1.对于数值类型(整数,浮点数)来说,就是加法(byte,short会先被提升为int)
2.对于char类型来说,在计算之前,char会被提升为int,然后计算
3.对于字符串String来说,加号代表字符串连接操作;任何数据类型和字符串连接的时候都会变成字符串(注意优先级)

【注意:在使用System.out.println()System.out.print()输出字符串常量时不可以出现换行,eg

//无法通过编译
System.out.println("无法通过  
					编译");		
//可以将字符串分解成几部分,用并置符号"+"连接
System.out.println("可以通过"+
					"编译");							


另外,JBK1.5版本新增了和C语言中printf函数类似的数据输出方法,使用格式如下:
System.out.printf(“格式控制部分”,表达式1,….,表达式n)
格式控制部分由格式控制符号和普通字符组成,普通字符原样输出,格式控制符号用来输出表达式的值
%d:输出int型数据值
%c:输出char型数据
%f:输出浮点型数据,小数部分最多保留6位
%s:输出字符串数据
输出数据也可以控制数据在命令行的位置,eg:
%md:输出的int型数据占m列
%m.nf:输出的浮点型数据占m列,小数点后保留n位
不足m列右对齐,超出了m列则按原数据的列数输出

运算符和表达式

java基础课程笔记整理——Chapter2_第1张图片
注意:
1.关系运算符的运算结果是boolean类型
2.逻辑运算符的操作元必须是boolean类型数据
3.赋值运算符左边的操作元必须是变量,不能是常量或表达式
4.位运算符:整型数据在内存中以二进制形式表示,这样可以对两个整型数据实施位运算,即对两个整型数据对应的位进行运算得到一个新的整型数据,按位与&、按位或|、按位非(按位取反)~、按位异或^
5.instanceof运算符:该运算符为二目运算符,左边的操作元是一个对象,右边是一个类。当左边的对象是右边的类或右边的类的子类创建的对象时,该运算符运算的结果是true,否则是false。

语句的概述

Java里的语句分为下面六种:
1.方法调用语句
2.表达式语句:由一个表达式构成一个语句,即表达式尾加上分号
3.复合语句
4.空语句 :一个分号也是一个语句
5.控制语句:分为条件分支语句、开关语句、循环语句
6.package语句和import语句(和类、对象有关)
注意:
1.if,elseif后的括号内表达式的值必须是boolean类型
2.for循环语句,do-while语句,while语句的循环条件的值必须是boolean类型(for的循环条件即表达式2的值(表达式2非空时))
3.switch开关语句中括号内的表达式的值必须为byte、short、int、char或枚举类型,case后的常量值也必须是这些类型的常量,且值的大小互不相同
4.注意区分break和continue在循环语句中的效果。
5.带标号的循环结束(一般用于多重循环,内部判断循环条件结束嵌套的所有循环)

 label:  for (int i = 0; i < 3; i++) {
            for (int j = 1; j <= 7; j++){
               if(i*7+j>15)
                   break label;
                System.out.println(i*7+j);
            }
        }

你可能感兴趣的:(Java基础(课内),java)