阅Java核心技术卷笔录一

阅Java核心技术卷笔录一

一.基础知识
1.命名规范

1. 类名(接口名):首字母大写,其它均为小写。如果由多个单词组成每个单词首字母大写,其它均为小写。如(ArrayList,HashMap,PreparedStatement)
2. 变量名:均为小写。如果由多个单词组成从第二个单词开始,每个单词首字母大写,其它均为小写。如(name,userPassword,userAge)。
3. 方法名:与变量名相同。如(setName(),getAge(),selectAll(),insert())
4.包名:均为小写。如:oracle.jdbc.driver.OracleDriver
5. static final修饰的常量:均为大写。如果由多个单词组成,所有字母均为大写,单词之间使用下划线分隔。如:MAX_LEVEL
6. 泛型:一个大写英文字母。
7.注意文件名必须与公共类的名字相同
8.标识符(类名,方法名,变量名,接口名,包名等):
	i.标识符由字母,数字,下划线,美元符组成。
	ii.不能使用数字开头。
	iii.不能使用关键字(关键字均为小写)。
	iv.不能使用true,false,null这三个特殊的值作为标识符。

在命令行中进行编译时命令为 Javac *.java

Java是一种强类型语言,必须为每一个变量声明一种类型。

Java的数据类型只有两种数据类型:基本数据类型,引用数据类型。

2.基本数据

一共有8种:byte,short,int,long,float,double,char,boolean

a)整数:Java中没有无符号的数字(无符号数中,所有的位都用于直接表示该值的大小。有符号数中最高位用于表示正负。有符号数包括负数,无符号数只有整数。)Java中可以表示十进制的整数,可以表示八进制的整数(使用0开头),可以表示十六进制的整数(使用0X或0x开头)

	1.byte:1个字节 ,-2的7次方  -  2的7次方-1 

	2.shrot:2个字节,-2的15次方  -  2的15次方-1

	3.int: 4个字节,-2的31次方  -  2的31次方-1

	4.long: 8个字节,-2的63次方  -  2的64次方-1

b)浮点数:Java中 浮点数运算会产生一定的误差

	1.float:4个字节,单精度,在浮点数后面加F或f

	2.double:8个字节 ,双精度,Java默认的浮点数为double类型。

c)字符类型:char值必须出现在一对单引号中,通常情况下单引号只出现一个字符,Java使用的是Unicode字符集,所有的字符均为两个字节。

d)布尔类型:boolean只有两个值:true/false。在Java中不能用0和1表示。

3.变量

a)格式:数据类型 变量名[=值] 例:int i=1;
b)同一个范围不能出现同名的变量
c)当变量没有赋值时不能使用,否则编译失败。

4.常量

a) 使用final关键字修饰的变量,称为常量(最终变量)。

b)只能赋值一次。

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

a)boolean类型不能与其他类型转换。

b) 比较基本数据类型的大小:

i:首先比较基本数据 类型的精度,精度大的类型的。

ii: 当精度相同时,再比较字节数

c) 精度低的类型可以直接转换为精度高的类型(小的可以直接赋给大的)

d) 精度高的类型赋给精度低的类型 时需要进行强转(强制类型转换)。

e) 当值(不是变量)在类型的取值范围内时,jvm会自动将值得类型转换成需要的类型。

6.运算符

a) 算术运算符:+,-,*,/,%,++,–

i.当参与算术运算的元素类型相同时,算术结果的类型一定与参与运算元素的类型保持一致。(类型一致结果类型不变)

ii.当参与算术运算的元素类型不同时,算术运算结果的类型一定与精度元素类型保持一致。(类型不一致结果类型为精度高的类型)

iii.整数被0除将会产生一个异常,而浮点数被0除将会得到无穷大或NaN结果。

iv.++/--可以出现在变量的前面/后面,无论放在前后代码执行的变量一定会加1/减1.

v.++/--放在变量的后面:先取值,再计算。

vi.++/--放在变量的前面:先计算,再取值

b)扩展算术运算符:+=,-=,*=,/=,%=,会自动转换结果的类型。

c)比较运算符:结果的类型一定是Boolean类型

d)逻辑运算符:结果的类型一定是Boolean类型

i. 逻辑与(&),逻辑或(|)

       1.逻辑与:只要有一个false,结果就为false;当第一个表达式为false时,仍然会执行第二个表达式,返回false。

	2.逻辑或:只要有一个true,结果就为真;当第一个表达式为true时,仍然会执行第二个表达式,返回true。

ii.短路与(&&) 短路或(||)

	1.短路与:当第一个表达式为false时,不执行第二个 表达式,直接返回false。

	2.短路或:当第一个表达式为true时,不执行第二个表达式,直接返回true。

iii.逻辑非:!,取反 。

e)三元运算符(三目运算符):x?y:z; 当x为true时,返回y。当x为false时,返回z.

7.枚举类型

当现有的类型不够使用时可以自定义枚举类型,枚举类型包括有限个命名的值。

8.字符串在这里插入图片描述

1.概念:Java字符串就是Unicode(不可变)字符序列。

2.Java.lang.String类:final的类。

3.每次对String的修改都会产生新的字符串对象。所以如果 需要大量修改字符串时不建议使用string类型。

4.String重写了Obeject类中的equals()方法,用于判断字符串的内容是否相等。

5.String的方法不会改变自身的内容。

6.Java.lang.StringBuffer类与java.lang.StringBuilder类:都表示Java中可变的字符序列。

7.StringBuffer与StringBuilder的区别:

	i.StringBuffer是线程安全的。

	ii.StringBuilder是线程不安全的。建议使用StringBuilder效率高。

8.每次对StringBuffer和StringBuilder的 修改不会产生新的字符串对象,所有需要大量修改字符串时,建议使用stringBuffer和StringBuilder。

9.StringBuffer与StringBuilder也是final的类。

10.StringBuffer与StringBuilder的方法会改变自身的内容。

11.StringBuffer与StringBuilder没有重写Object类中的equals(),所以不能使用 equals()判断StringBuffer与StringBuilder的内容是否相等。

9.输入输出

1.输入:首先构造一个Scanner对象,再使用Scanner类 的各种方法实现输入操作。

	Scanner in = new  Scanner(System.in);

在这里插入图片描述
2.输出:System.out.print();

10.流程控制:顺序 结构,选择结构,循环结构

i.if语句:当if语句匹配到一个分支后,将不再匹配其它的分支,直接跳转到if语句的结束。

在这里插入图片描述
ii.switch语句

   switch(变量){
			case 值:
				代码;
				[break;]
			case 值:
				代码;
				[break;]
				.......
			[default:
					代码;
					break;
				]
				}

switch语句将从选项值相匹配的case标签处开始执行知道遇到break语句,或者执行到switch语句结束处为止。如果没有相匹配的case标签,而有default字句,就执行这个字句。

case后面的值不能重复。

case后面的值只能为常量或字符串字面值。

iii.while循环

	a.while(循环条件){
        循环体;
	}
    	1.当不确定循环次数时建议使用while循环。
    	2.循环条件的结果必须为boolean类型。
    	3.while循环:先判断,在循环。
	b.do ... while循环
		do{
            循环体;
		}while(循环条件);
		1.循环的大括号不能省略
		2.循环必须使用分号表示结束
		3.循环条件的结果必须为boolean类型
		4.do..while循环:先循环,在判断。


iv.for循环

格式:
for(循环变量初始化;循环条件;循环变量的自增/自减){
	循环体;
}
i.	当确定循环次数时,建议使用for循环。
ii.	for循环的三部分都可以省略,但分号不能省略。
iii.	for循环第一部分声明的变量,是for循环的局部变量。只能在for循环内使用,循环外不能使用。
iv.	for循环的第一部分可以声明多个类型相同的变量。
v.	循环条件的结果必须为boolean类型。
vi.	for循环大括号,如果省略作用范围只有一行Java代码。
for(int i = 1 ; i <= 4 ; i++){
			System.out.println(i);
			}
          *第一次循环:先执行第一部分,声明循环变量i = 1;再执行第二部分,判断i <= 4,返回true,进入循环。
		 * 第二次循环:先执行第三部分,i++。i=2;再执行第二部分,判断i <= 4,返回true,进入循环。
		 * 第三次循环:先执行第三部分,i++。i=3;再执行第二部分,判断i <= 4,返回true,进入循环。
		 * 第四次循环:先执行第三部分,i++。i=4;再执行第二部分,判断i <= 4,返回true,进入循环。
		 * 第五次循环:先执行第三部分,i++。i=5;再执行第二部分,判断i <= 4,返回false,结束循环。

11.中断循环

a) break:不能单独使用。只能出现在switch或循环语句中。在循环中的作用:立即结束所在循环。

b)continue:不能单独使用。只能出现在循环语句中。作用:使所在循环立即结束本次循环,直接进入下一次循环。

12.数学函数

Math.random(): 返回大于等于0.0,并且一定小于1.0的double类型的随机数。

Math.sprt():计算一个数值的平方根

Math.pow():计算一个数值的幂次方运行算 double y = Math.pow(x,a)

13.数组

数组:是一组相同数据类型的集合。

a)java中所有的数组都是引用数据类型。
在这里插入图片描述
b)一维数组:

i.声明一维数组格式:数据类型[] 数组名;/数据类型 数组名 []

ii.声明数组是在栈中开辟一个空间,用于保存数组的名字。所以声明数组时不能指定数组 的长度。

iii.创建一维数组:在堆中开辟一个连续的空间。所以在创建数组时必须直接或间接地指定数组的长度。
iv.基本数据类型中保存的是值。

v.引用数据类型中保存的是引用。

vi.通过下标访问或设置数组指定位置的值。

vii.java中数组的下标从0开始。数组最大下标:数组的长度减1.

viii.数组的长度可以为0,但不能是负数(如果长度为负数,程序运行时会发生异常)。

ix.通过数组的.length属性,获得数组的长度。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值