几个知识点:关键字,标识符,注释,常量与变量,运算符,语句,函数,数组
关键字:被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!");
}
}