根底语法

1.数据类型

数据类型分为根本数据类型和援用数据类型。其中根本数据类型有数值型:
整数(byte,short,int,long),浮点数(float,double),字符(char)。
非数值型:布尔(boolean)。
援用数据类型有:类(class),接口(interface),数组([])。

关键字内存占用取值范畴
byte1字节-128~127
short4-32768~32767
int4-2^31~2^31-1
long8-2^63~2^63-1
float4-3.402823E+38~-1.401298E-45;1.401298E-45~3.402823E+38
double8-1.797693E+308~-4.900000E-304;4.900000E-304~1.797693E+308
char20~65535
boolean1true,false

E+38示意乘以10的38次方,E-45示意乘以10的负45次方.

类型转换:主动类型转换,把一个数据范畴小的数值或者变量赋值给另一个示意数据范畴大的变量。
byte-->short-->int-->long-->float-->double. char-->int
强制类型转换,把一个数据范畴大的数值或者变量赋值给另一个示意数据范畴小的变量。
格局:指标数据类型 变量名 = (指标数据类型)值或变量
Int k=(int)88.88

2.变量

变量定义格局:数据类型 变量名 = 变量值
应用注意事项:名字不能反复;变量未赋值不能应用;long类型的变量定义时为了避免整数过大,前面要加L;float类型定义时,为了避免类型不兼容,前面要加F。

3.运算符

算术运算符:+ - * / %
赋值运算符:= += -= *= /= %=
自增自减运算符:++ —
关系运算符:== != > >= < <= 关系运算符的后果都是boolean类型,true或false
逻辑运算符:& | ^ !
短路逻辑运算符:&& ||
三元运算符:格局:关系表达式 ? 表达式1 : 表达式2;
逻辑运算符与短路逻辑运算符的区别:
逻辑与&,无论右边虚实,左边都要执行
短路与&&,如果右边为真,左边执行;如果右边为假,左边不执行
逻辑或|,无论右边虚实,左边都要执行
短路或||,如果右边为假,左边执行;如果右边为真,左边不执行。

4.抉择构造

If语句,if…..else语句,if…..else if…..else语句
switch语句:格局:switch(表达式){case 值1: 语句体1;break; case 值2: 语句体2; break; …..
default: 语句体n+1;break; }
格局阐明:表达式:取值为byte,short,int,char,JDK5当前能够是枚举,JDK7当前能够是String。
case:前面跟的是要和表达式进行比拟的值。
break:示意中断,完结的意思,用来完结switch语句。
default:示意所有状况都不匹配的时候,就执行该处的内容,和if语句的else类似。

5.循环构造

for循环语句
格局:for (初始化语句;条件判断句;条件管制句){ 循环体语句; }

for(i=0;i<=10;i++){System.out.println(“HelloWorld”);}

水仙花数:是一个三位数,个位、十位、百位的数字立方和等于原数。
设水仙花数为i
求个位数:a=i%10
求十位数:b=i/10%10
求百位数:c=i/100%10
aaa+bbb+ccc=i
while循环语句
格局:while (条件判断语句) {循环体语句; 条件管制语句;}
do…while循环语句
格局:do{循环体语句;
}while(条件判断语句);
三种循环的区别:
for循环和while循环先判断条件是否成立,而后决定是否执行循环体。
do….while循环先执行一次循环体,而后判断条件是否成立,是否继续执行循环体。
for和while的区别:
条件管制语句所管制的自增变量,因为归属for循环的语句构造中,在for循环完结后,就不能再次被拜访到了。
条件管制语句所管制的自增变量,对于while循环来说不归属其语法结构中,在while循环完结后,该变量还能够持续应用。
死循环格局:

for(;;) { }while(true) { }do{ }while(true);

6.IDEA内容辅助键和快捷键

疾速生成语句
疾速生成main()办法:psvm 回车
疾速生成输入语句:sout 回车
内容辅助键
Ctrl+Alt+space(内容提醒,代码补全等)
快捷键
正文:单行:选中代码,Ctrl+/,再来一次,就是勾销。
多行:选中代码,Ctrl+Shift+/,再来一次,就是勾销。
格式化:
Ctrl+Alt+L

7.数组

数组是一种用于存储多个雷同类型数据的存储模型
数组的定义格局:
格局一 :数据类型 [] 变量名

          int [] arr

定义了一个int类型的数组,数组名是arr。
格局二:数据类型 变量名 []

          int arr []

定义了一个int类型的变量,变量名是arr数组。
动静初始化:初始化时只指定数组长度,由零碎为数组调配初始值。
格局:数据类型 [ ] 变量名= new 数据类型[数组长度] ;

      int [ ] arr  =  new  int [3];

动态初始化:初始化时指定每个数组元素的初始值,由零碎决定数组长度。
格局:数据类型 [ ] 变量名 = new 数据类型 [ ] {数据1,数据2,数据3…..} ;

          int [ ]  arr  =  new  int [ ] {1,2,3};

简化格局:数据类型 [ ] 变量名 = {数据1,数据2,数据3…..}

          int [ ]  arr ={1,2,3}

数组操作的两个常见小问题:
索引越界:拜访了数组中不存在的索引对应的元素
空指针异样:拜访的数组曾经不再指向堆内存的数据

8.办法

办法是将具备独立性能的代码块组织成为一个整体,使其具备特色性能的代码集。
办法必须先创立再应用,该过程称为办法定义。
办法创立后并不是间接运行,须要手动应用后才执行,该过程称为办法调用。
办法定义:
格局:public static void 办法名 ( ){ }
办法调用: 办法名 ( );

形参:办法定义中的参数,等同于变量定义格局,例如:int number
实参:办法调用中的函数,等同于应用变量或常量。
带返回值办法的定义:
格局:public static 数据类型 办法名(参数){ return 数据; }
办法定义时return前面的返回值与办法定义上的数据类型要匹配,否则程序将报错。
带返回值办法的调用:
格局1: 办法名(参数); isEvenNumber(5);
格局2: 数据类型 变量名 = 办法名(参数); boolean flag = isEvenNumber(5);
办法的返回值通常会应用变量接管,否则该返回值将毫无意义。

带参数办法的定义:
格局(单个参数):public static void 办法名 (数据类型 变量名) { ….. }
格局(多个参数):public static void 办法名 (数据类型 变量名1,数据类型 变量名2,…) { ….. }
办法定义时,参数中的数据类型和变量名都不能短少,短少任意一个程序将报错。
办法定义时,多个参数之间应用逗号( , )分隔。

办法注意事项:
办法不能嵌套定义;
void示意无返回值,可省略return,也可独自书写return,前面不加数据。
定义方法时,要做到两个明确:
明确返回值类型:次要是明确办法操作结束之后是否有数据返回,如果没有,写void;
如果有,写对应的数据类型。
明确参数:次要是明确参数的类型和数量。
调用办法时:
void类型的办法,间接调用即可。
非void类型的办法,举荐用变量接管调用。

办法重载:
办法重载指同一个类中定义的多个办法之间的关系,满足以下条件的多个办法互相形成重载:
多个办法在同一个类中
多个办法具备雷同的办法名
多个办法的参数不同,类型不同或数量不同。
特点:重载仅对应办法的定义,与办法调用无关。
重载仅针对同一个类中办法的名称与参数进行辨认,与返回值无关,就是不能通过返回值断定两个办法是否互相形成重载。
办法参数传递(根本类型):
对于根本数据类型的参数,形式参数的扭转,不影响理论参数的值。
办法参数传递(援用类型):
对于援用类型的参数,形式参数的扭转,影响理论参数的值。

9.Debug

Debug:是供程序员应用的程序调试工具,它能够用于查看程序的执行流程,也能够用于追踪程序执行过程来调试程序。
Debug操作流程:
Debug调试,又称为断点调试,断点其实是一个标记,通知咱们从哪里开始查看
如何加断点:抉择要设置断点的代码行,在行号的区域前面单击鼠标左键即可。
如何运行加了断点的程序:在代码区域右键Debug执行。
按F7执行,点stop完结
删除断点:抉择要删除的断点,单击鼠标左键即可。