几个知识点:关键字,标识符,注释,常量与变量,运算符,语句,函数,数组
关键字:被java语言赋予特殊含义的单词 。特点:关键字所有字母都小写
-----------------------------------------------------------------------------
标识符:由26个大小写英文字母,数字0-9,符号_ $组成。规则:1.数字不可以开头 2.不可以使用关键字
名称规范:
包名---多单子组成所有字母都小写xxxyyyzzz
类名接口名---首字母大写XxxYyyZzz
变量名函数名---第一个单词首字母小写,后面大写xxxYyyZzz
常量名---所有字母都大写,单词连接用下划线XXX _YYY_ZZZ
---------------------------------------------------------------------------------------
注释:
单行注释--- /文字
多行注释--- /*文字*/
文档注释---/**文字*/
--------------------------------------------------------------------------------------------------
常量:不能改变的数值
整数:java中有三种表现形式
二进制---0-9
八进制---0-7
十六进制---0-9,A-F 用0x开头表示
进制的基本转换
负数的二进制表现形式(对应正数取反+1)
变量:
内存中的一个存储区域
该区域有自己的名称(变量名)和类型(数据类型)
该数据可以在同一类型范围内不断变化
定义变量的作用:不断的存放同一常量,重复利用
使用变量注意
变量的范围(一对{}之间有效)
初始化值
变量的格式
数据类型 变量名=初始化值 例: int x=1
数据类型 (因为java是强类型语言)
运算符
算数运算符
PS:
"+"除字符串连接功能外,还能把非字符转化成字符串
赋值运算符
= ,+=,-=,/=, %=
PS:
short x=2;
x=x+2 (2属于int,提升后x short类型无法赋值错误)
x+=2 (一次运算正确)
比较运算符
逻辑运算符
class OperateDemo2 { public static void main(String[] args) { int x = 7; //逻辑运算符用于连接boolean类型的表达式。 //x>3 & x<6 = true & true = true; /* true & true = true; true & false = false; false & true = false; false & false = false; & : 只要两边的boolean表达式结果,有一个为false。那么结果就是false。 只有两边都为true,结果为true。 */ /* true | true = true; true | false = true; false | true = true; false | false = false; | : 两边只要有一个为true,结果为true。 只有两边都有false,结果为false。 */ /* ^ : 异或;就是和|有点不一样。当true ^ true = false; true ^ true = false; true ^ false = true; false ^ true = true; false ^ false = false; ^ : 两边相同结果是false。 两边不同结果是true。 */ /* !!true */ int a = 2; //a>3 && a<6; /* &和&&的特点: &:无论左边是true是false。右边都运算。 &&:当左边为false时,右边不运算。 |:两边都参与运算。 ||:当左边为true。右边不运算。 */ System.out.println(false ^ false); System.out.println(~6); int n = 3,m = 8; System.out.println("n="+n+",m="+m); //1,通过第三方变量。 /*int temp; temp = n; n = m; m = temp; */ //2不用第三方变量。 //11 = 3 + 8; //3 = 11 - 8; //8 = 11 - 3; /* n = n + m;//如果n和m的值非常大,容易超出int范围。 m = n - m; n = n - m; */ n = n ^ m; m = n ^ m;//(n^m)^m; n = n ^ m;//n ^ (n ^ m) System.out.println("n="+n+",m="+m); } }
左移右移
与 或 异或
程序流程控制
判断结构 if 语句
if 语句的三种格式:
1. if(条件表达式)
{
执行语句;
}
2.if(条件表达式)
{
执行语句;
}
else
{
执行语句;
}
3.if(条件表达式
{
执行语句;
}
else if
{
执行语句;
}
.....
else
{
执行语句;
}
PS:
if else 结构 简写格式: 变量 = (条件表达式)?表达式1:表达式2;
三元运算符:
好处:可以简化if else代码。
弊端:因为是一个运算符,所以运算完必须要有一个结果。
IfTtest
class IfTest { public static void main(String[] args) { //需求1:根据用户定义的数值不同。打印对应的星期英文。 /* int num = 1; if(num==1) System.out.println("monday"); else if(num==2) System.out.println("tsd"); else System.out.println("nono"); */ //需求2:根据用于指定月份,打印该月份所属的季节。 //3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季 int x = 4; if(x==3 || x==4 || x==5) System.out.println(x+"春季"); else if(x==6 || x==7 || x==8) System.out.println(x+"夏季"); else if(x==9 || x==10 || x==11) System.out.println(x+"秋季"); else if(x==12 || x==1 || x==2) System.out.println(x+"冬季"); else System.out.println(x+"月份不存在"); if(x>12 || x<1) System.out.println(x+"月份不存在"); else if(x>=3 && x<=5) System.out.println(x+"春季"); else if(x>=6 && x<=8) System.out.println(x+"夏季"); else if(x>=9 && x<=11) System.out.println(x+"秋季"); else System.out.println(x+"冬季"); } }
选择结构 switch语句
switch语句的格式
switch(表达式)
{
case 取值1:
执行语句;
break;
case 取值2:
执行语句;
break;
......
default:
执行语句;
break;
}
PS:
if和switch语句很像。
具体什么场景下,应用哪个语句呢?
如果判断的具体数值不多,而是符合byte short int char这四种类型。
虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。
其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。
SwitchTest
class SwitchTest { public static void main(String[] args) { //需求2:根据用于指定月份,打印该月份所属的季节。 //3,4,5 春季 6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季 int x = 4; switch(x) { case 3: case 4: case 5: System.out.println(x+"春季"); break; case 6: case 7: case 8: System.out.println(x+"夏季"); break; case 9: case 10: case 11: System.out.println(x+"秋季"); break; case 12: case 1: case 2: System.out.println(x+"冬季"); break; default: System.out.println("nono"); } /* if和switch语句很像。 具体什么场景下,应用哪个语句呢? 如果判断的具体数值不多,而是符合byte short int char这四种类型。 虽然两个语句都可以使用,建议使用swtich语句。因为效率稍高。 其他情况:对区间判断,对结果为boolean类型判断,使用if,if的使用范围更广。 */ System.out.println("Hello World!"); } }