1、第一个java程序
class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World!"); } }
2、注释
1.在代码中,用于解释说明程序的部分。
2.注释特点
1.编译器不会检查这部分内容的语法格式。
2.运行的时候可以忽略这部分的内容。
3.分类
单行注释 //
多行注释 /* */ 不能嵌套
文档注释 /** */
4.注释的作用
1.对程序进行解释说明:要求代码中,有30%行数都是用来写注释的。
2.对程序的思路描述。
3.对程序进行调试:通过注释的方式快速定位到错误的位置。
4、关键字
1.被赋予了特定含义的单词。
2.特点
1.全部小写
2.自己起名字的时候,不要和关键字重名
3.有两个保留字:goto const,在当前版本不使用,但是以后是否使用未知。
5、标识符(起名字)
1.用于给类,接口,方法,变量,常量等起名字。
2.组成部分:
1.英文大小写a-z A-Z
2.数字0-9
3.特殊符号 _ $
3.注意事项
1.不要和关键字重名
2.数字不能开头, abc123合法 123abc不合法
4.行业规范
1.见名知意
int i = 20;
int personCount = 20;
int renShu = 20;
2.采用驼峰状
类和接口的命名:
每个单词的首字母大写,其余字母小写。
变量和方法的命名:
第一个单词的首字母小写,其余单词首字母大写
常量命名
所有字母采用大写,使用_进行连接
6、常量
1.在程序运行过程中,其值不会发生改变的量,就是常量。
2.常量按照表现形式的分类:
字面值常量:写出常量就可以知道常量的值。 1 2 20 15
符号常量:给常量起了一个名字,看到名字就知道常量的意义,不知道常量的值。
3.常量按照数据类型:
整数常量:所有的整数,例如5、10、-15、-16
小数常量:所有的小数,例如3.1415926
字符常量:使用单引号括起来的单个符号,例如'a' '1' ‘abc’不合法
布尔常量:用于表示是是非非的内容。true false
引用数据类型:基本类型组装而成的一些数据类型。
字符串常量:使用双引号引起来的符号序列。例 如 "HelloWorld!"
空常量:表示空,不指向任何数据,null.
7、变量
1.变量:在程序运行过程中,其值会发生改变的量。
2.定义格式:
数据类型 变量名 = 变量值;
3.使用变量的原因:
在程序中,有一些代表相同意义的数据,在不断发生变化,例如年龄。
定义一个不变的变量名称,表示那些不断变化的数字。
在内存中,其实就是一段内存空间,空间的数据可以不断发生变化。
4.变量的基本数据类型(四类八种)
整数类型:
byte 1个字节 -128-127 -2^7~2^7-1
short 2个字节 -2^15~2^15-1
int 4个字节 -2^31~2^31-1
long 8个字节 -2^63~2^63-1
小数(浮点)类型
float 4个字节 >8个字节long类型
double 8个字节
布尔类型
boolean 未知
字符类型
char 2个字节
5.常量的默认类型
1.整数常量的默认类型为int,随意写出的整数常量就必须在int类型的泛围之内。
-214783648~2147483647
2.小数常量的默认类型是double
如果使用float类型,在小数后面加一个F
6.数据类型转换之隐式转换
1,当小的范围的数据类型和大的范围的数据在运算时,会先将小的范围数据类型
进行提升,提或为大的范围的数据类型,再进行运算。
byte<short=char<int<long<float<double
2.注意事项
byte short char int在相互运算时,会直接统统提升为int类型,而非较大类型。
int及int以上的类型,在相互运算时,会提升为较大类型
7.数据类型转换之强制转换
1.大的范围的数据类型要转换为小的范围数据类型,就需要使用强制转换。
2.转换格式:
(要转成的数据类型)需要转换的数据
3.注意事项
强转之前的数据可能和强转之后的数据不一致。
8.面试题
常量优化机制:针对整型,有一些计算非常简单,例如常量和常量的运算,
在编译阶段就可以把这些简单的值运算完毕。
9.变量定义的注意事项
1.变量是有作用域的
作用域:起作用的范围。
范围:变量在哪对大括号中声明定义的,范围就是哪对大括号。
2.在同一个作用域中,不能定义重名的变量。
3.在方法中定义的变量,必须先实始化赋值,之后才能使用。
4.定义变量可以将变量的声明和变量的赋值分离。
5.可以在同一行声明多个相同数据类型的变量。
10.字符变量
1.char 变量名 = 变量值;
2.在计算机中,所有的数据都使用数字进行表示,字符也不例外。
3.看到的字符,和计算机中的数字,有一个转换对应关系。
从字符到数字的过程,叫做编码
从数字到字符的过程,叫做解码
4.编码表 ascii码表
'0'---48
'A'---65
'a'---97
11.字符串类型
1.使用双引号括起来的一系列的字符组合,是一种引用数据类型。
字符串类型的变量空间中,记录的是数据的地址。
2.声明字符串类型的关键是String.
3.字符串和其它类型的拼接, +
表示拼接:先把其他类型的数据,转面字符串类型,然后再和当前的字符串进行拼接
结果是一个更长的字符串。
8、运算符
1.运算符:用于运算和操作数据的符号
2.分类:
算数运算符
赋值运算符
比较运算符
逻辑运算符
位移运算符
三元运算符
9、算术运算符
+、-、*、/、%(取余,取模)
1.如果两个整数相除,结果还是一个整数,取整不是四舍五入 17/2=8
2.如果相除的时候有一方是小数,得到的结果还是小数。
3.取模操作的时候结果和被模数的正负号一致。
自增自减运算:++ --
1.作用:在某个变量的基础上,自增或者自减
2.注意事项:
1.自增运算符可以放在变量前也可以放变量后。
2.a++代表先做其它运算,然后再自增1
3.++a代表先自增1,再做其它运算
10、赋值运算符
1.用于给变量进行赋值的运算符
2.分类
基本的赋值运算符:=
扩展的赋值运算符:+= -= *= /= %=
11、比较运算符
> >= < <= == !=
运算结果为布尔类型
12、逻辑运算符
! & | &&(短路与) ||(短路或)
!true=false
!false=true
true&true=true
true&false=false
false&true=false
false&false=false
true|true=true
true|false=true
false|true=true
false|false=false
参与运算参数为布尔类型,结果也为布尔类型
13、位运算符
>> <<
<<:左移,每次移动一位,会将原来的数字扩大2倍
>>:右移,每次移动一位,会将原来的数字缩小2倍
<<<:针对于无符号操作
面试题:2怎么样做运算会最高效地扩大8倍
2*8=16
2<<3 向左移动3位
14、三元运算符
表达式1?表达式2:表达式3;
表达式1为布尔类型表达式,结果为布尔类型 true false
表达式1为true,执行表达式2;
表达式1为false,执行表达式3;