-
int类型:
- 变量在使用之前必须赋值
package d5.oop;public class Person {public static void main(String[] args) {int a; //定义变量a=50; //给变量赋值System.out.println(a);} }50
- 变量直接定义赋值加输出:
package d5.oop;public class Person {public static void main(String[] args) {int a=60;int b=90;System.out.println(a);System.out.println(b);} }60 90
- int定义两数相加:
package d5.oop;public class Person {public static void main(String[] args) {int a=60;int b=90;System.out.println(a+b);} }150
- 对变量重新赋值(重新赋值的时候方法名后面可以不加类名)
//int类型的 package d5.oop;public class Person {public static void main(String[] args) {int a=60;System.out.println(a);a=80;System.out.println(a);} }60 80//String类型的 package d5.oop;public class Person {public static void main(String[] args) {String a="hello";String b="hi";System.out.println(a);System.out.println(b);a="lo";b="lp";System.out.println(a);System.out.println(b);} }hello hi lo lp
- 一条语句定义多个变量
package d5.oop;public class Person {public static void main(String[] args) {int a=60,b=90,d=100;System.out.println(a);System.out.println(b);System.out.println(d);} }60 90 100
- int进行加减计算
package d5.oop;public class Person {public static void main(String[] args) {int a=0;a++;a=a+2-1;a=a+2-1;System.out.println(a);} }3
- 进制表示
- 二进制:以0b开头;
- 八进制:以0开头;
- 十进制:电脑默认十进制,不用加修饰;
- 十六进制:0x开头;
- 关键字必须小写
-
标识符:(类,方法,变量)
- 方法跟变量是小驼峰命名:firstName
- 类名是大驼峰命名:GoodStudent
- 键盘入录:
package d5.oop;import java.util.Scanner; // 导包public class Person {public static void main(String[] args) {Scanner l=new Scanner(System.in); // 创建Scanner对象System.out.println("请输入整数");int i=l.nextInt(); // 接收数据System.out.println(i);} }请输入整数 10 10
- 键盘入录+运算:
package d5.oop;import java.util.Scanner;public class Person {public static void main(String[] args) {Scanner l=new Scanner(System.in); // 创建Scanner对象int i=l.nextInt(); // 接收数据int n=l.nextInt();int h=l.nextInt();System.out.println();System.out.println(i+n-h);l.close();} }4 6 91
-
System.out.println( ) ; 中的计算
- 整数可以进行无误加减乘除
- 小数在加减乘除的时候可能会报错
- System.out.println(1+2+“abc”+1+2 ) ; // 3abc12 字符串后面的数据默认是字符串类型
- System.out.println('a'+2); // 99
-
类型转换
- 在转化时字符类型时,小数类型最好选double,byte,short,char类型最好选int,字符类型最好选String
- byte<short<int<long<float<double
-
将输入的个十百位全部输出
package ko;import java.util.Scanner;public class k1 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in); // 新建的scanner在Scanner类中System.out.println("输入三位数");int ad=scanner.nextInt();System.out.print("个位是"+ad%10+"\t"); // 输出个位System.out.print("十位是"+ad/10%10+"\t"); // 输出十位System.out.print("百位是"+ad/100%10+"\t"); // 输出百位scanner.close();} }输入三位数 862 个位是2 十位是6 百位是8
-
强制转换:(小变大不用强转,大变小必选强转)(将想要转化的类型加括号,后面跟上运算的方法名)
byte a=50; // 0011 _ 0010 ,最左面的0是符号位,0表示正1表示负不参与运算 int v=a; // (隐式转换)
int a=300; byte b=(byte)a; // 将a强制转换为byte类型 (强制转化)byte a=10; byte b=20; byte ab=(byte)(a+b); // 如果转化的数超过了原有界限,那么就执行符号位不变,原码取反再加1进行赋值 System.out.println(c); 30
-
字符相加减:(在加减之前会自动转化为ASCII表对应的数值)
package ko;public class k1 {public static void main(String[] args) {char v='a';int a=v+5;System.out.println(a);} }102
-
a++跟++a的区别
package ko;public class k1 {public static void main(String[] args) {int a=10;int b=a++; // b为自增之前的值,a=11,b=10int c=++a; // c为自增之前的值,a=12,c=12System.out.println("a:"+a);System.out.println("b:"+b);System.out.println("c:"+c);} }a:12 b:10 c:12
-
入录数值的比较:
package ko;import java.util.Scanner;public class k1 {public static void main(String[] args) {Scanner a=new Scanner(System.in);System.out.println("请输入你的数值");int k=a.nextInt();System.out.println("请输入对方的数值");int l=a.nextInt();boolean p=k>l;System.out.println(p);} }请输入你的数值 5 请输入对方的数值 9 false
-
逻辑运算符:
& : 并且,两边都为真结果才是真(可以进行两数判断,也可以进行二进制运算0为false 1为true)
| : 或者,两边都为假结果才是假
^ : 异或,相同false不同true(很少用)
! : 取反
与(&):
package ko;public class k1 {public static void main(String[] args) {int a=10;int b=20;boolean m=++a<10 & ++b<30; // 不管a为真还是假,b都要进行运行System.out.println(m);System.out.println(a);System.out.println(b);}
}false
11
21package ko;public class k1 {public static void main(String[] args) {int a=7;int b=1;System.out.println(a&b);}
}1
- 短路逻辑运算符:
&&:短路与
||:短路或
短路与(&&):
package ko;public class k1 {public static void main(String[] args) {int a=10;int b=20;boolean m=++a<10 && ++b<30; // 如果a的值为假,那么b就不进行运行了System.out.println(m);System.out.println(a); System.out.println(b);}
}false
11
20
- 运算符
& : 0为false ,1为true
| : 0为false ,1为true
<< : 向左移位,低位补零
》》: 向右移位,最高位根据符号进行填充,负数就填1,正数就填0
》》》:向右移位,高位直接加0
短路或(||) : 案例
package ko;import java.util.Scanner;public class k1 {public static void main(String[] args) {Scanner k=new Scanner(System.in);System.out.println("输入一个整数");int a=k.nextInt();System.out.println("输入下一个整数");int b=k.nextInt();boolean w=(a==6||b==6)||((a+b)%6==0);System.out.println(w);k.close();}
}输入一个整数
5
输入下一个整数
7
true
总结:在逻辑运算符中只能用true跟false进行判断,必须调用boolean值
- 三元运算符:
**格式:关系表达式 ?表达式1:表达式2 ; **
int max=a>b ? a : b;// 示例
public class k1 {public static void main(String[] args) {int a=10;int b=20;int ma=a>b?a:b;System.out.println(ma);}
}
-
案例:两只老虎
package ko;import java.util.Scanner;public class k1 {public static void main(String[] args) {Scanner m=new Scanner(System.in);System.out.println("第一只老虎体重");int o=m.nextInt();System.out.println("第二只老虎体重");int k=m.nextInt();System.out.println(o==k ? "体重相等":"不相等"); // 三元运算符m.close();}
}第一只老虎体重
90
第二只老虎体重
90
体重相等
-
案例:三个和尚
package ko;import java.util.Scanner;public class k1 {public static void main(String[] args) {Scanner m=new Scanner(System.in);System.out.println("第一个和尚");int o=m.nextInt();System.out.println("第二个和尚");int k=m.nextInt();System.out.println("第三个和尚");int l=m.nextInt();System.out.println(Math.max((o > k ? o : k), l)); // 运用三元运算符跟max结合找出最大值,max只能判断两个数大小m.close();}
}第一个和尚
190
第二个和尚
150
第三个和尚
168
190
package ko;import java.util.Scanner;public class k1 {public static void main(String[] args) {Scanner m=new Scanner(System.in);System.out.println("第一个和尚");int o=m.nextInt();System.out.println("第二个和尚");int k=m.nextInt();System.out.println("第三个和尚");int l=m.nextInt();int lo=o>k?o:k; // 三元运算符判断int po=lo>l?lo:l; // 三元运算符二重判断System.out.println("身高最高的和尚是:"+po);m.close();}
}第一个和尚
190
第二个和尚
150
第三个和尚
168
身高最高的和尚是:190
带括号的先进行运算
-
案例.选小吃
package ko;import java.util.Scanner;public class ko {public static void main(String[] args) {Scanner m=new Scanner(System.in);System.out.println("输入你的钱数");double a=m.nextDouble();if (a>100){System.out.println("吃大餐");}if (a<100){System.out.println("小吃");}m.close();}
}输入你的钱数
11.69
小吃
案例.影院选座(嵌套)
package ko;import java.util.Scanner;public class ko {public static void main(String[] args) {Scanner m = new Scanner(System.in);System.out.println("输入你的钱数");int a = m.nextInt();if (a < 101 && a > 0) {if (a % 2 == 0) {System.out.println("坐左面");}else {System.out.println("坐右面");}m.close();}else{System.out.println("您的输入有误");}}
}输入你的钱数
25
坐右面
案例:自动驾驶
package ko;public class light {public static void main(String[] args) {boolean yellow = false;boolean green = false;boolean red = true;if (yellow) { // 是true的话就执行返回语句,false就不执行System.out.println("witer");} else if (green) {System.out.println("go go go");} else {System.out.println("stop");}}
}stop
- swicth语句:
swicth(表达式){case 值1: 语句体1;break; // 表示跳出,不能省略case 值2;语句体2;break;defult: // 以上情况都不满足时执行的,可以省略语句体n+1;break;
}
案例:运动计划
package ko;import java.util.Scanner;public class ko {public static void main(String[] args) {Scanner m = new Scanner(System.in);System.out.println("输入星期");String a = m.next();switch (a) {case "一":System.out.println("跑");break;case "二":System.out.println("游泳");break;case "三":System.out.println("走");break;case "四":System.out.println("琦");break;case "五":System.out.println("拳");break;case "六":System.out.println("爬");break;case "七":System.out.println("吃");break;default:System.out.println("有误");break;}m.close();}
}输入星期
一
跑
穿透case
package ko;import java.util.Scanner;public class ko {public static void main(String[] args) {Scanner m = new Scanner(System.in);System.out.println("输入星期");String a = m.next();switch (a) {case "一":case "二":case "三":case "四":case "五":System.out.println("工作日");break;case "六":case "七":System.out.println("休息日");break;default:System.out.println("有误");break;}m.close();}
}输入星期
六
休息日
案例:统计数字(for循环)
package ko;import java.util.Scanner;public class ko {public static void main(String[] args) {Scanner m = new Scanner(System.in);System.out.println("输入开始范围");int a = m.nextInt();System.out.println("输入结束范围");int b = m.nextInt();int sum=0;for (int i = a; i < b; i++) {if (i%3==0 && i%5==0){System.out.println(i);sum++;}}System.out.println("成立的个数"+sum);m.close();}
}输入开始范围
10
输入结束范围
60
15
30
45
成立的个数3
while循环语句(不知道循环的次数时)
int i=1;
while(i<5){System.out.println(i);i++;
}1
2
3
4
案例:需要折叠的次数
package ko;import java.util.Scanner;public class ko {public static void main(String[] args) {Scanner m = new Scanner(System.in);System.out.println("输入数字");Double a = m.nextDouble(); // 珠穆朗玛峰的高度Double b =0.1; // 纸张厚度int sum =0; // 折叠次数while (b<a){b=b*2;sum++;}System.out.println("需要折的次数"+sum);m.close();}
}输入数字
8844.3
需要折的次数17
package ko;import java.util.Scanner;public class d2 {public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.println("输入高度");Double a=s.nextDouble();Double b=0.1;int sum=0;for (Double i = b; i < a; i=i*2) {sum++;}System.out.println("折叠次数"+sum);}
}输入高度
8844.3
折叠次数17
案例:回文数
package ko;import java.util.Scanner;public class d2 {public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.println("输入数字");int m=s.nextInt();int sum=0;int ge=0;while (m!=0) { // 在不知道要循环多少次的时候用whilege=m%10; // ge位就是m/1%10,十位是m/10%10……m=m/10; // 用完一位后就消掉一位sum=sum*10+ge; // 按照位数进行求和}System.out.println(sum);s.close();}
}输入数字
123456789
987654321
案例:只用加减算整数乘除
package ko;import java.util.Scanner;public class d1 {public static void main(String[] args) {Scanner o=new Scanner(System.in);System.out.println("输入被除数");int dividend= o.nextInt();System.out.println("输入除数");int divisor=o.nextInt();int sum=0;while (dividend>=divisor){dividend-=divisor;sum++;}System.out.println("商为"+sum);System.out.println("余数为"+dividend);o.close();}
}输入被除数
80
输入除数
3
商为26
余数为2
continue(暂时终止--请假)跟break(彻底终止--辞职)
package ko;public class d3 {public static void main(String[] args) {for (int i = 1; i < 5; i++) {if(i==3){continue; // if括号里面的数为几就暂时不执行几}if(i==4){break; // if括号中的数为几,就从该位置向后都不能执行}System.out.println("老虎吃了第"+i+"个包子");}}
}老虎吃了第1个包子
老虎吃了第2个包子
案例:逢七必过
package ko;public class d3 {public static void main(String[] args) {for (int i = 1; i < 80; i++) {if (i%10==7 || i/10%10==7 || i%7==0){System.out.print("过"+"\t");continue;}if (i%12==0){System.out.println();}System.out.print(i+"\t");}}
}1 2 3 4 5 6 过 8 9 10 11
12 13 过 15 16 过 18 19 20 过 22 23
24 25 26 过 过 29 30 31 32 33 34 过
36 过 38 39 40 41 过 43 44 45 46 过
48 过 50 51 52 53 54 55 过 过 58 59
60 61 62 过 64 65 66 过 68 69 过 过 过 过 过 过 过 过 过 过
案例:求平方根
package ko;import java.util.Scanner;public class ko {public static void main(String[] args) {Scanner m = new Scanner(System.in);System.out.println("输入数字");int a=m.nextInt();for (int i = 1; i <= a; i++) {if (i*i==a){ // 平方根能直接找到的方法System.out.println(i);break;} else if (i*i>a){ // 平方根不能直接找到的方法System.out.println(i-1+"是平方根整数部分");break;}}m.close();}
}输入数字
60
7是平方根整数部分
案例:判断是否为质数
package ko;import java.util.Scanner;public class ko {public static void main(String[] args) {Scanner m = new Scanner(System.in);System.out.println("输入数字");int a=m.nextInt();int sum=0;for (int i = a; i <= a; i++) {for (int j = 2; j <a; j++) {if (i%j==0){sum++;System.out.println(sum);break;}}if(sum==0){System.out.println(a+"是一个质数");}else {System.out.println(a+"不是一个质数");}}m.close();}
}输入数字
10000
1
10000不是一个质数
案例:猜数字小游戏
package ko;import java.util.Random;public class d3 {public static void main(String[] args) {Random r =new Random();int R= r.nextInt(100)+1; // 表示从1开始,一直到100结束(包头不报尾)// int R= r.nextInt(100) ,默认从0开始到99结束System.out.println("随机数为:"+"\t"+R);}
}随机数为: 45 // 生成随机数
package ko;import java.util.Random;
import java.util.Scanner;public class d3 {public static void main(String[] args) {Random r =new Random();int sum=0;int R= r.nextInt(100)+1; // 1-100的随机数Scanner s=new Scanner(System.in);while (true){ // 插入无限次循环,直至条件成立System.out.println("输入你猜的数字");int p=s.nextInt();if (p==R){System.out.println("恭喜你,猜对了");break;}if (p < R) {System.out.println("猜小了");}else {System.out.println("猜大了");}sum++;}System.out.println("一共猜了"+sum+"次");System.out.println("随机数"+R);}
}输入你猜的数字
50
猜小了
输入你猜的数字
80
猜小了
输入你猜的数字
90
猜小了
输入你猜的数字
95
猜大了
输入你猜的数字
94
恭喜你,猜对了
一共猜了4次
随机数94// 猜数字小游戏
package ko;import java.util.Random;
import java.util.Scanner;public class d3 {public static void main(String[] args) {Random r =new Random();int sum=0;int R= r.nextInt(100)+1; // 1-100的随机数Scanner s=new Scanner(System.in);while (true){System.out.println("输入你猜的数字");int p=s.nextInt();if (p==R){System.out.println("恭喜你,猜对了");break;}if (p < R) {System.out.println("猜小了");}else {System.out.println("猜大了");}sum++;if (sum==3) {System.out.println("恭喜你答对了");break;}}System.out.println("随机数"+R);}
}80
猜大了
输入你猜的数字
90
猜大了
输入你猜的数字
80
猜大了
恭喜你答对了
随机数17// 猜了3次都没有猜中时会自动返回猜对了