关键字:被Java语言赋予了特殊含义,用作专门用途的字符串(单词)
标识符:凡是本身能够起名字的地方都叫标识符java
变量是java程序中最基本的存储单元,能够存储一个数据
java中变量按照数据类型来分类:基本数据类型 vs 引用数据类型(数组 类 接口)数组
容量小的数据类型自动转换为容量大的数据类型,优化
此时的容量大小指的是数的范围的大小code
byte、char、short、--->int --->long --->float --->double接口
short s = 12;
int i = s + 2;
注意:byte short char之间作运算,结果为int型!文档
将取值范围大/精度高的数据类型 转为 取值范围小/精度低的数据类型字符串
double d1 = 12.9; int t1 = (int)d1;//截断操做 System.out.println(t1);
char c = 'a'; int num = 10; string str = "hello"; System.out.println(c + num + str); //107hello System.out.println(c + str + num); //ahello10 System.out.println(c + (num + str)); //a10hello System.out.println((c + num) + str); // 107hello System.out.println(str + num + c); // helloa10
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等string
+ - + - * / % ++ -- +
it
= += -= *= /= %=
编译
int i= 12; i = i * 5; i *= 5;//与上一行代码一样的意思 //【特别地】 short s = 10; s = s + 5;//报编译的异常 s = (short)(s + 5); s += 5;//s = s + 5,可是结果不会改变s的数据类型。 int m = 2; int n = 3; n *= m++; Sysout(m);// 3 Sysout(n);// 6 int n = 10; n += (n++) + (++n); //32
变量A++ 与 ++变量A的区别
== > < >= <= instanceof
【注意】区分== 与 = 区别。
进行比较运算操做之后,返回一个boolean类型的值
4>=3 表达的是4 > 3或者 4 = 3.结果是true。
if(i > 1 && i < 10){ }
不能写为:if(1 < i < 10){}
& && | || ^ !
【注意】区分 & 与 && 的区别,以及 | 与 || 的区别咱们使用的时候,选择&& , ||
| || ,& &&区别
<< >> >>> & | ^ ~
【例子】1.如何交换m = 12和n = 5的值
2.将60转换为十六进制输出。
m = m + n; n = m - n; m = m - n; // 好处不用定义变量,但有局限性,只能用数值类型
1. 条件判断
三种格式
①if(条件表达式){ } ②if(条件表达式){ //执行的语句1; }else{ //执行的语句2; } ③if(条件表达式1){ //执行的语句1; }else if(条件表达式2){ //执行的语句2; }else if( 条件表达式3){ //执行的语句3; }... }else{ //执行的语句; }
注意:
2. 选择结构
switch(变量){ case 值1: break; case 值2: break; ... default: break; }
注意:
1. 三种格式
①初始化条件 ②循环条件 boolean类型 ③迭代部分 ④循环体 for(①;②;③){ ④ } ① while(②){ ④ ③ } ① do{ ④ ③ }while(②); // 遍历100之内的偶数 for(int i = 1; i<100; i++){ if(i % 2 == 0){ System.out.println(i); } }
注意:
2. 嵌套循环
循环结构还能够声明循环。让内层循环结构总体充当外层循环的循环体。
若外层循环执行m次,内层循环执行n次,整个程序执行m*n次
//题目 ****** ****** ****** for(int i = 0;i < 3;i++){ for(int j = 0;j < 6;j++){ System.out.print("*"); } System.out.println(); } //说明:外层循环控制行数,内层循环控制列数
3. 无限循环结构
for(;;){ ... if( ){ break; } ... } //或者 while(true){ ... if( ){ break; } ... }
每每咱们在无限循环结构内部提供循环的终止条件,使用break关键字。不然,此循环将无限制的执行下去,造成死循环,死循环是咱们要避免的
4. break & continue
break:
使用switch-case结构或者循环结构中
在循环结构中,一旦执行到break,就跳出当前循环。
continue:使用在循环结构中
for(int i = 1;i <= 10;i++){ if(i % 4 == 0){ //break; //123 continue; //123567910 } System.out.print(i); }
在嵌套循环中,使用带标签的break和continue
label:for(int i = 1;i < 5;i++){ for(int j = 1;j <= 10;j++){ if(j % 4 == 0){ //break; //continue; //break label; continue label; } System.out.print(j); } System.out.println(); }
/* 题目:输入两个正整数,求最大公约数和最小公倍数 好比:12和20的最大公约数是4,最小公倍数是60 */ Scanner scan = new Scanner(System.in); System.out.println("请输入第一个正整数:"); int m = scan.nextInt(); System.out.println("请输入第二个正整数:"); int n = scan.nextInt(); // 获取这两个数中的最小值 int min = (m <= n) ? m : n; for(int i = min; i > 0; i--){ if(m % i == 0 && n % i == 0 ){ System.out.println("最大公约数为:"+i); break; } } // 获取这两个数中的最大值 int max = (m <= n) ? n : m; for(int i = max; i <= n*m; i++){ if(i % m == 0 && i % n == 0 ){ System.out.println("最小公倍数为:"+i); break; } }
//100之内的质数的输出 boolean isFlag = true; for(int i = 2; i <= 100; i++){ for(int j = 2; j < i; j++){ if(i % j == 0){ isFlag = False; break; } } if(isFlag == ture){ System.out.println(i); } isFlag = true; } // 优化 boolean isFlag = true; for(int i = 2; i <= 100; i++){ // j < i的开方 for(int j = 2; j <= Math.sqrt(i); j++){ if(i % j == 0){ isFlag = False; break; } } if(isFlag == ture){ System.out.println(i); } isFlag = true; }