Day02

标题1.软件版本升级的原因

软件版本升级的原因:1.功能增加 2.功能优化 3.修改bug

注意:一般情况,新的版本的软件中的体积会越来越大,新的方法不会覆盖原来的方法

标题2.进制转换

2.1什么是进制

人们自定义的一种计数方法,几进制就是逢几进一,如2进制逢二进一。

2.2二进制、八进制、十六进制

1.二进制(以0b开头)

	1---1	2---10	4---100 	8---1000     16---10000

2.八进制(以0开头)

	1---1      8---10    16---20

3.十六进制(以0x开头)

            10---a	11---b	12---c	13---d	14---e	15---f	16---10

2.3进制的相互转化

1.十进制转二进制,八进制,十六进制

	辗转相除法: 用数字除进制,再用商除进制,直到商为零结束,最后将每一步得到的余数倒着连接以来,就是这个数字的指定的进制表示形式。

Day02

2.其他进制转十进制

	每一位的数字乘进制的位数1次方,再将所有的结果累加到一起。

Day02

3.二进制与八进制和十六进制的互相转化

每一个八进制位可以等价替换成三个二进制位。 
注意: 1.划分从右到左进行,如果二进制数的左边不够三位,直接在高位补零凑齐三位     
     2.当八进制数转成二进制数时,将上述过程反转,有一点要记住,每一个八进制的数必须对应三位二进制位,
        如果八进制数在转化时得到的二进制数不够三位,直接在最左边用零补齐. 
每一个十六进制位可以等价替换成四个二进制位。 跟二进制与八进制的转化规则类似

Day02

标题3.Java语法基础

3.1关键字和保留字

1.关键字

   main方法是一个特殊的方法,是程序的入口
   public:表示内容的可见范围,public表示任何位置都可见,其他几种:private 私有的,protected 受保护的,default:默认的
   static:修饰的内容变成静态
   void:是空的意思
   mian后面()中的是参数
   interface 接口
   synchronized 同步
   Comparable 接口:进行比较 Comparator 接口:进行比较,比较器
   nstanceof 用于多态
   关键字:extends 描述继承关系      implements 藐视类与接口的关系,实现的意思
   fianl 最终的  abstrac 抽象的

2.保留字

没有定义用途,但保留备用的字符序列。比如:goto、const

3.2标识符

1.在标识符的命名中, 应该遵循以下命名的规则:

1. 由字母(含英、中、日、俄等)、数字、下划线(_)和美元符号($ 音:dollar)组成。
2. 不能以数字作为开头。
3. 区分大小写。
4. 长度无限制。(一般不要超过15个字符)
5. 不能与系统关键字或者保留字重名。

2.命名的规范:

1.标识符命名习惯:见名知意。强烈建议使用英文单词。
studentName teacherAgeTable

2.驼峰式命名:

大驼峰命名法: 每一个单词的首字母都大写。

适用类型:类名,接口名

小驼峰命名法: 首字母小写,如果多个单词组成,第一个单词首字母小写,剩下的单词
首字母大写

适用类型:变量名,方法名,参数名

举例:
大驼峰命名法: AgeOfPerson、CountOfStudent
小驼峰命名法: ageOfPerson、countOfStudent
备注:

后续的课程中, 如果没有特殊说明, 默认使用小驼峰命名法。

3.对于包名:所有的字母都小写 

4.对于常量:所有的字母都大写

3.3常量和变量

1.常量

如果某个数据在程序运行的过程中, 值是不可以改变的, 这样的数据被称为是常量。 

2.变量

如果某个数据在程序运行的过程中, 值是可以改变的, 这样的数据被称为是变量。 

其实是内存中的一小块区域,使用变量名来访问这块区域。因此,每一个变量使用前必须要 先申请(声明),然后必须进行赋值(填充内容),才能使用,变量中存储的数据就是常量。

Day02

public static void main(String[] args) {
	// 1. 定义一个变量 
	int age;
	// 2. 定义多个相同类型的变量 
	int height, weight; 
	// 3. 定义一个变量, 并赋初始值 
	int score = 100;
	// 4. 定义多个变量, 同时给某些变量赋初始值
	int chineseScore = 99, mathScore = 100, englishScore; 
	byte n1 = 10; 
	short n2 = 10;
    int n3 = 10; 
    long n4 = 10;
    // 浮点数字默认的类型推导是double类型, 如果需要给float变量赋值,需要在最后添加一个f 
    float n5 = 3.14f; 
    double n6 = 3.14; 
    char n7 = 'a'; 
    boolean n8 = true;
   } 
}

3.4数据类型

1.所有的数据在计算机中进行存储的时 候都是有自己的类型的。 数据类型, 即数据存储的类型。

2.数据类型的作用:合理使用内存空间

3.在Java中, 数据类型分为两类: 基本数据类型和引用数据类型

Day02
Day02

①基本数据类型

class Demon1{
	public static void main(String[] args){
		//整型
		byte b = 3;
		short s = 4;
		int i=5;
		long l =1001;//在数据的最后添加一个1表示long型
		System.out.println(34);
		
		//浮点型 - 小数
		//浮点型默认是double型,如想表示float型,在数据的最后加f
		float f = 5.5f;
		double d =3.4;
		System.out.println("f:"+f+"    d:"+d);//+号的连接功能
		
		//boolean型
		//只有两个值true/false
		//我们认为占一个字节
		//注意与c的区别,在c中0表示false,非零表示true,但是在java中只有true/false
		boolean b1 = true;
		
		//字符型
		//''表示字符   ""表示字符串
		char c = 'a';
		//char c1='aa' 错误,‘’中只能存一个字符
		
		System.out.println("c:"+c);
		//常用的ASCII  a 97   A 65   0  48
		System.out.println("c:"+(int)c); //取c的ASCII码
		System.out.println("97的ASCII码:"+(char)97);//取97的ASCII码
		//我们通常认为char型的大小是2字节,这是根据Java的内部编码格式unicode决定的
		//常用的中文的编码格式
		//GBK 中文 一个汉字2个字节
		//UTI8 日本的(国标) 一个汉字3个字节
		//ubicode 内部编码 一个汉字2字节
		
		//转义字符
		// \表示转义字符
		//第一种:将普通含义的字母转换成特殊含义
		// \n 换行 \t 制表符   \r \t   \s
		char c1 = '\n';//表示换行
		
		//第二种:将特殊含义的符号转换成特殊含义
		//打印“hellowarld”
		System.out.println(" \"hellowarld\" ");
	}
}

②数据类型转换

class Demon3{
 public static void main(String[] args){
	//定义了一个byet型的变量b并且赋值成127
	/*
		赋值:给变量赋值
		初始化:本质上也是赋值,不过只有当在声明的同时完成赋值
	*/
	byte b = 127;
	int i=34;
	int j=128;
	//自动类型转换
	i = b;
	System.out.println("i:"+i);
	System.out.println("b:"+b);
	//从int到byte的转化会将高位的三个字节直接砍掉。有可能会对数据造成损失----强制类型转换
	//b = j;
	System.out.println("j:"+j);
	System.out.println("b:"+b);
	//当用户想强制转换时,可以采用强转--在数据面前+(转变后的变量)
	b = (byte)j;
	System.out.println("转换后的b:"+b);
	
	//数据类型转换的标准:以数据类型表示数的范围大小确定,范围越大等级越高,反之越小
	//整型中:从低到高   byte  short int  long
	//浮点型:从低到高   float double
	
	long maxLong = Long.MAX_VALUE;
	float maxFloat = Float.MAX_VALUE;//
	System.out.println("long"+(maxLong));
	System.out.println("float"+(maxFloat));
	System.out.println("差值"+(maxFloat-maxLong));
	
 }
}
上一篇:java基础面试题day02


下一篇:CGB第三阶段DAY02