【标识符】
基本要求:组成,只能由字母、数字、_、$符号,开头不能是数字。
命名规范:类名:每个单词的首字母都是大写,eg:HelloWorld(大驼峰法则)。
变量、属性、方法名:首字母小写,之后每个单词首字母大写,eg:myName(小驼峰法则)。或者my_name。
标识符的命名必须要有语义,尽量为单词。
代码里变颜色的都是关键字。
【基本数据类型】
C语言中有6种,Java中有8种。
Java中的8种包括:
整数型(从小到大):byte,short,int,long。
byte一个字节,,8位,short两个字节,int四个字节,long八个字节。
小数型(浮点数):float(单精度浮点数,4个字节,6-7位有效数字),
double(双精度浮点数,8个字节,15-16位有效数字)。
单精度运算速度更快。
字符型:char(2个字节),一个数字、一个字母、一个符号称为一个字符。
布尔型:boolean(用来判断对错,true,false)。
C语言没有boolean和byte。
int num;//声明变量
num=1;//给变量赋值
int num=1;//声明变量同时赋值
float fNum=1.3f;
【变量的声明】
flaot:float fNum=1.3f; 结尾必须要有f/F,不能省略。
double dNum=1.3; 结尾可以是d/D,也可以省略。
char c=’A’; char用单引号引起来表示字符,只能是一个字母,一个数字,一个符号。
boolean isTrue=false; boolean后面只能是true或者false。
数据类型长度(了解):以int为例,int是四个字节,32位,可存储-2^31到2^31-1,32位中有一位是符号位。一个字节是8位。
所有数据类型的长度是固定的,不随硬件、软件的不同而不同。
\\转义符。杰瑞\\教育,最后输出杰瑞\教育。
单引号表示字符,双引号表示字符串。
由final修饰的变量成为常量,不可被改变,常量名所有字母全是大写。Eg:final int NUM1=1;
【基本数据类型转换】
自动类型转换
强制类型转换
除布尔类型外,其他基本数据类型均可进行转换。
自动类型转换的两个条件:1.相互转换的两种数据类型要兼容,除布尔类型以外;2.必须是由低往高转,必须由小范围数据类型向大范围转换,满足这两个条件就可自动转换。
数据类型大小排列(由小到大):byte,short(char),int,long,float,double。
double d=1; 由低级别的int向高级别的double转换,输出结果为1.0
强制类型转换由大范围数据类型向小范围数据类型转换,必须强制转换。
int num2=(int)1.7f; 由高级别float往低级别int去强制转换,输出结果为1
注意:强制转换时小数点后的数字自动舍去,不进行四舍五入,括号里要注明想转换的类型。
【运算符】
1.算术运算符
+ - * / % 其中,%表示取余。22/10=2 22.0/10=2.2,当斜线两边都为整数时,结果为整数,而且不进行四舍五入,直接舍去小数点,当斜线两边有任一小数时,结果为小数。
System.out.println(1+2+”3”+4+5+”6”);,输出结果为33456。加号有两种作用:分别是加法运算和链接字符串。当加号两边全为数字时,进行加法运算。当加号两边有任意一边为字符串时,起链接作用,链接的结果为字符串。
2.关系运算符
== != > < >= <=
注意:=表示赋值,==表示等于
关系运算符判断之后的结果只能有真或假,不能有第三种。
注意:所有符号必须都是英文。
判断一个数是不是处于某个区间,必须用&&链接。500<=num&&num<=1000。
3.逻辑运算符(重点)
&(与)、|(或)、&&(与)、||(或)、!(非)。
System.out.println(5&6); 输出结果为4。
5换成二进制为101,6换成二进制为110,相同为1,不同为0,结果为100,结果是4。
&/&&:两边都为真,结果为真。
|/||:两边都为假,结果为假。
&与&&的区别:1.&既可以进行逻辑判断,也可以进行按位运算,当&的两边都为数字时,进行位运算;&&只能进行逻辑判断,不能进行按位运算。&称为按位与。2.当两者都进行逻辑判断时,&&称为短路与,短路与从左往右判断,当判断第一个为假时,便不再判断第二个,直接输出结果为假。&称为逻辑与,不论第一个结果为真还是为假,均会判断第二个之后输出结果。
综上所述:进行逻辑判断时,用&&和||。
4.赋值运算符
i+=1 ài=i+1,但是前者具有更快的运算效率。
5.单目运算符
++ 自增运算符 --自减运算符
i++ ài=i+1;
i++和++i的异同:
相同点:无论i++还是++i,执行完以后,i的值都会加1。
不同点:i++,先用i的值去运算,再把i的值加1。
++i,先把i的值加1,再把值进行运算。
int i,j,k;
i=5;
j=i++ +2;//j=7 i=6
k=++j +2;//j=8 k=10
System.out.println(i+”/”+j+”/”+k);
输出结果为6/8/10。
int i,j,k;
i=5;
j=++i +2;// i=6 j=8
k=i++ +2;//k=8 i=7
System.out.println(i+”/”+j+”/”+k);
输出结果为7/8/8。
6.多目运算符
a>b?true:false 如果问号前面的结果为true,执行冒号前面的代码,如果问号前面的结果为false,则执行冒号后面的代码。
A的ASC码值为65,a的ASC码值为97,B的ASC码值为66,b的ASC码值为98。
运算符的优先级中,()最高,其次是单目运算符,乘除取余,加减,大于小于大于等于小于等于,等于不等于,或,非,各种赋值符号。
与或同时存在时,与比或高。
在所有语言中,赋值运算符的优先级永远是最低的。
输入syso,按Alt+/,可直接出现System.out.println();
光标放到想复制行上,按Alt+Ctrl+向下键,可直接复制行。
光标放到想移动行上,按Ctrl+向上键或向下键,可移动行。
求数字各位数的相加之和,例如:求8349的各位数的相加之和。
8349%10 将8349对10取余,得到个位数9。
(8349/10)%10 将8349除以10的结果834.9对10取余,得到4。
(8349/100)%10 将8349除以100的结果83.49对10取余,得到3。
8349/1000 将8349除以1000,得到8。
Scanner input=new Scanner(System.in); //输入语句
int num=input.nextInt(); //输入整数
double d=input.nextDouble(); //输入double
String s=input.next(); //输入字符串
2016.07.27
尝试使用快捷键!!!
分支与循环
Java中常见的三种基本流程结构:顺序结构、选择结构(分支结构)和循环结构。
循环结构:while语句、do-while语句、for语句、foreach语句。
跳转语句:break语句、continue语句、return语句。
【if-else选择结构】
if (1>2) {
System.out.println("if条件成立时,执行的代码");
} else {
System.out.println("if条件不成立时,执行的代码");
}
以上会成为死循环,应改为:
int num=1;
if (num<2) {
System.out.println("if条件成立时,执行的代码");
} else {
System.out.println("if条件不成立时,执行的代码");
}
在if-else选择结构中,应特别注意缩进。
有了if-else语句就可以不用多目运算了。
- if后面的括号放的是判断条件,此条件的结果必须是真或假,必须为逻辑判断。
- 大括号{}必须成对出现,缺一不可。
- 大括号{}不能省,但是else{}结构可以省略,if{}结构不能省略。
- 代码缩进!!!
【多重if选择结构(也叫阶梯if、else-if结构)】
if(条件一){
System.out.println(“条件一成立时执行的代码”);
}
else if(条件二){
System.out.println(“条件一不成立,条件二成立时执行的代码”);
System.out.println(“该else-if语句可以有多个”);
}else{
System.out.println(“所有条件不成立时执行的代码”);
}
输入字符:char c=in.next().charAt(0);
【嵌套if选择结构】
if{}里面嵌套if{}结构。
结构写法:
if(条件一){
if(条件二){
System.out.println(“条件一、条件二都成立时执行的代码”);
}else{
System.out.println(“条件一成立、条件二不成立时执行的代码”);
}
}else{
System.out.println(“条件一不成立时执行的代码”);
}
注意事项:嵌套结构一般不超过三层,能够用多重if解决的问题一般不用嵌套。
选中想要整理的代码,右键à【Source】à【Format】,即可整理好。
【switch选择结构】
格式:switch(常量表达式){
case 常量1:
语句;
break;
case 常量2:
语句;
break;
·····
default:
break;
}
注意事项:
- switch后的括号中必须是能够计算出具体结果的常量表达式,计算后的计算常量结果可以为整数、字符、字符串。
- case后面的常量值必须保持唯一,各不相同。
- break的作用:跳出当前switch结构,每一个case项,除非特殊需要,必须有break。
- switch结构中只会判断一次正确选项,当遇到正确的case项后,便不再进行判断,因此当省略break时,会导致程序从正确的case项开始,顺序执行所有case项中代码。
- switch结构是专门用于判断等于的结构,执行效率要比if-else快。
- case项可以带大括号,一般省略,所以,在每个case项中声明的变量只在当前case项生效。
当case中包含所有出路时,default可以省略。
在case项中声明的变量只在当前case项中有用,但不同case项不可重复声明变量。
看到题目时要学会在if-else和switch中做出选择。