各位大佬,学哥 学姐大家好,本人是一名java初学者。希望以后能够和各位大佬们分享一下每天的学习心得,也是自我监督总结的一个过程。虽然之前在大学的时候学的就是软件编程,但是也是因为自己在学校没有好好学习的原因,所以现在还是菜鸟,小白,初学者。之前在学校刚开始接触编程的时候学了很多,有c、java、前端甚至连PS都有正课。一开始接触的时候感觉挺好,当第一次老师让写的HelloWorld在控制台输出显示的时候,那种感觉就感觉是自己创造了一个东西似的 ,说的夸张些就是有种造物主的感觉!但是后来随着后面几节课听下来感觉太枯燥了也不想听了,因为当时刚进大学吗玩心也大,几节课下来索性就不听了。后面在实在没法的时候零零碎碎的听一些课但是因前面就没好好听的原因所以但是肯定也是听不懂的。当有作业的时候就投机取巧去复制粘贴同学的代码。以至于现在还是小白。所以我希望能在接下来的学习中能够和大家每天分享下自己的学习心得和总结。因为当来到达内与同学们相遇才发现,我们现在班里真的是卧虎藏龙,优秀的人太多了。说实话之前想都没有想过自己会写这些,也是今天受一位大哥的影响吧,毕竟我感觉环境能改变人,所以我希望在未来的这几个月的时间里,能够和大家每天在这里记录一下自己的心得,以及上课的一些总结!
知识总结:
因为今天是第二天刚刚开课所以都是基础知识主要有:JAVA语法基础 标识符 关键字 注释 变量 数据类型与类型转换
JAVA语法基础 标识符
那么何为标识符,标识符可以理解为一个名字,因为在编程过程中有很多什么代码,标识符我理解的就是为了好区分开来,而去取的名字。而一个正确正规的的标识符有很多的规则需要遵守;
1. 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符
2.标识符不能以数字开头。比如:123 不合法
3.标识符严格区分大小写。如: tmooc 和 tMooc 是两个不同的标识符
4.标识符的命名最好能反映出其作用,做到见名知意。
5.标识符不能是Java的关键字
关键字
那什么是关键字呢,关键字就是java中,有一些单词是是比较特殊的,可以理解为在java中一共有53个特殊单词,因为被开发公司赋予了特定的意义,所以这53个单词就是java中所有的关键字。需要注意的就是关键字都是小写,而且不能把关键字去用做java的标识符;其中有boolean、byte、char、class、float......等等53个。
注释
注释:知识可以简单的理解为给不运行的代码,我们写在注释中的所有东西计算机都是不运行的,就是我们写在注释中的内容是给我们程序员去更好的理解代码程序去写的。
大概分为:多行注释 /** */ 和 单行注释 //;
变量
在JAVA中,我们需要记录一些数据,但这些数据的值是不固定的,我们可以把这些数据理解为变量。比如某个学校的的某个班里学生。而这里班里的学生是不固定的。而学生的人数就是我们的数据。
比如 int student = 21; 这里 student 就是我们的变量名 而21就是我们往里存的数据;我们通过三个元素来描述变量:变量类型 变量名以及变量值。
注意:
- 变量名必须是一个有效的标识符
- 变量名不可以使用java关键字
- 变量名不能重复
数据类型
基本类型介绍(八种)
整数类型:byte short int long 浮点类型(小数):float double 字符类型:char 布尔类型:true flase
整数类型:整数类型就是我们数学中的整数,1,2,3,4, 浮点类型:浮点类型就是我们的数学中的小数
字符类型:
char c1 = 'a';//可以保存一个字符
char c2 = 97;//可以保存一个数字
char c3 = '中';//可以保存一个汉字
//char类型可以存数字,但是在打印时,会去查ASCII码表,把数字对应的字符拿出来使用
//ASCII码表值规定了数组0-127对应的字符,128-65535默认按照字符?来处理
System.out.println(c1);//a
System.out.println(c2);//a
System.out.println(c3);//中
布尔类型:true flase 就是对/错 真/与假
每个类型的最大值以及最小值:
byte byteMax = Byte.MAX_VALUE;
byte byteMin = Byte.MIN_VALUE;
System.out.println("byte类型的最大值是:"+byteMax);//127
System.out.println("byte类型的最小值是:"+byteMin);//-128
较特殊的int Integer.MAX_VALUE; 其他类型格式同上:byte byteMax = Byte.MAX_VALUE;
int intMax = Integer.MAX_VALUE;
int intMin = Integer.MIN_VALUE;
System.out.println("int类型的最大值是:"+intMax);//2147483647
System.out.println("int类型的最小值是:"+intMin);//-2147483648
基本类型的字面值
整数字面值是int类型
int x = 99999;//对,右面数据的字面值是int类型
int x = 99999999999;//错,右面数据的字面值是int类型,但是已经超出int的取值范围。
byte,short,char三种比int小的整数可以用范围内的值直接赋值
byte b1=127;//对,
浮点数的字面值是double类型
double r =3.14;//对
float r =3.14;//错,右面的数据字面值是double,float是4字节存不下double类型的数据
字面值后缀L D F
long x =99999999999L;//字面值是int类型,需转成long类型的数据,加字面值后缀L即可
float b = 3.0F;//3.0字面值是double类型,加后缀F会变成float类型
double d = 3D;//3字面值是int类型,加后缀D,会变成double类型
进制前缀
0b - 标识这是2进制 ,如:0b0101
总结
当数据是整数的时候直接就是int类型,但前提是不能超过int的最大值否则报错;整数的其他类型byte,short,char三种比int小的整数可以用范围内的值直接赋值;当数据为小数的时候是double类型,但是右边是double类型时不能赋值给比他字节以及最大值小的类型;
基本类型的类型转换
记住口诀:
小到大,直接转 大到小,强制转 浮变整,小数没
低 ------------------------------------> 高
byte,short,char→ int→ long→float→double
比如:
小到大(隐式转换)
int n = m;//小转大,右面的m是小类型,给左面的n大类型赋值,可以直接使用
float f = 3.2f; double d = f; -->可以执行
大到小(显示转换)
容量大的类型转换为容量小的类型时必须使用强制类型转换。
转换过程中可能导致溢出或损失精度
例如:int i =128; byte b = (byte)i; //打印的结果是-128
因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
浮点数到整数的转换是通过舍弃小数得到,而不是四舍五入
例如:float f = 32.7f; int a2 =(int) f; //打印的结果是32
不能对boolean类型进行类型转换。
运算规则(5条)
计算结果的数据类型,与最大数据类型一致
byte,short,char三种比int小的整数,运算时会先自动转换成in
byte a = 1;
byte b = 2;
byte c = (byte)(a+b);
//a+b会自动提升成int类型,右面得运算结果就是int大类型
//给左面的byte小类型赋值,不可以,需要强转。
整数运算溢出
整数运算,类似于一个钟表,转到最大时,再转会回到最小。
浮点数运算不精确
浮点数的特殊值
各位同学、大佬们,这是根据上课做的一些自己的理解,和整理的总结。希望以后每天来签到总结,学习。总结是根据自己的一些理解和老师的笔记整理的。以后慢慢培养自己的理解逻辑思维,加油!