package day_03text;
public class Text1 {
public static void main(String[] args) {
//System.out.println(Long. MAX_VALUE);
long L = 9223372036854775807L;
System.out.println(L);
//浮点型的32位是存储的科学计数法,而整数保存的是二进制
//所以float的32位的最大值远远大于long的64位的最大值,所以long到float是自动类型转换
//System.out.println(Float. MAX_VALUE);
float f = 3.4028235E38F;
System.out.println(f);
}
}
1.2小数相加
package day_03text;
public class Text2 {
public static void main(String[] args) {
double a = 0.1;
double b = 0.2;
//0.30000000000000004
//内存中有些小数无法存储,需要注意,千万不能使用小数做判断
System.out.println(a+b);
}
}
1.3赋值运算
package day_03text;
public class Text2 {
public static void main(String[] args) {
int a1 =5;
a1 *= a1 += a1 += a1;
//5*=5+=5+=5;
//75;a1 = 75
System.out.println(a1);
/
public static void main(String[] args) {
int a =10;
int b = 20;
String result = a > b ?"a大于b" : "a小于b";
System.out.println(result);
}
}
2.2字符串连接符
package day_03text;
public class Text4 {
public static void main(String[] args) {
int a = 12;
int b =21;
System.out.println(a+b);
//需求 :打印a+b=30
//a+b=1221
System.out.println("a+b="+a+b);
//a+b=30 如果把a+b写到字符串中,则不会被解析为变量,只是一个普通的字符串
System.out.println("a+b="+(a+b));
//需求:打印12+21=33
//12+21=33
System.out .println(a+"+"+b+"="+(a+b));
}
}
3.流程控制
控制我们程序的执行流程和分支
3.1顺序结构
严格从上往下从左到右执行即可
package day_03text;
public class Text5 {
public static void main(String[] args) {
int a =10;
int b =11;
//第一个条件为false,第二个不执行了
boolean c = (a>b && a>b++);
//b++不执行 所以此时b=10
System.out.println(b);
//如果一个运算中,&&和||都有,那么&&优先级大于||
boolean flag = true || false && false;
System.out.println(flag);
}
}
3.2分支结构
3.2.1 if...else...
package day_03text;
public class Text6 {
public static void main(String[] args) {
int a = 1;
int b = 2;
// 这样写可能不执行
if (a > b) {
System.out.println("======");
}
// 肯定有一个执行
if (a>b) {
System.out.println(1111);
}else{
System.out.println(2222);
}
// 只会有一个执行
if(a
3.2.2 switch
package day_03text;
public class Text7 {
public static void main(String[] args) {
char c = 'A';
if (c == 'A') {
System.out.println("优秀");
} else if (c == 'B') {
System.out.println("良好");
} else if (c == 'C') {
System.out.println("一般");
} else {
System.out.println("差");
}
switch (c) {
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("一般");
break;
default:
System.out.println("差");
}
}
}
3.2.3case穿透
int i = 101;
// case穿透 所以 要注意 break
switch (i) {
default:
System.out.println(i);
case 1:
System.out.println(i+1);
case 2:
System.out.println(i+2);
case 10:
System.out.println(i+10);
// 由于没有break 不会结束分支执行,所以找到符合条件的开始,后面所有的分支都会执行
case 11:
System.out.println(i+11);
}
3.2.4case合并
package day_03text;
public class Text9 {
public static void main(String[] args) {
// case 合并 主要利用case穿透完成
char c = 'A';
// A,B,C 都是优秀
switch (c) {
case 'A':
case 'B':
case 'C':
System.out.println("优秀");
break;
case 'd':
System.out.println("一般");
break;
default:
System.out.println("差");
break;
}
}
}
例题
需求 : 给定人的年龄是 [1-100]
* 编写程序,通过人的年龄,来判断当前这个人处于生命的哪个阶段
* [1-5] : 幼儿
* [6-18] : 少年
* [19-35] : 青年
* [36-55] : 中年
* [56-100] : 老年
package day_03text;
import java.util.Scanner;
public class Age {
public static void main(String[] args) {
Scanner sr = new Scanner(System.in);
System.out.println("请输入您的年龄:");
double age = sr.nextDouble();
if( 1<=age && age <= 5){
System.out.println("幼年");
}else if( age <= 18 ){
System.out.println("少年");
}else if( age <= 35){
System.out.println("青年");
}else if( age <= 55){
System.out.println("中年");
}else if( age <=120){
System.out.println("老年");
}else
System.out.println("神仙");
}
}
需求 : 给定学生成绩,成绩可以带小数 [0-100] 编写程序 根据学生的成绩划分等级 [90-100] 优秀 [70-89] 良好 [60-69]
* 及格 [0-59] 不及格
*
* 使用switch完成 , 注意 switch不能传递double 只能传入 int和String
package day_03text;
public class Grade {
public static void main(String[] args) {
double score =99.6;
int grade =(int)score/10;
switch(grade){
case 10:
System.out.println("非常优秀");
break;
case 9:
System.out.println("优秀");
break;
case 8:
case 7:
System.out.println("良好");
break;
case 6:
System.out.println("及格");
break;
default:
System.out.println("不及格");
}
}
}
3.3循环结构
重复做某一件事
3.3.1for
3.3.1.1循环使用
package day_03text;
public class Text10 {
public static void main(String[] args) {
// 死循环
// for ( ; true ; ) {
// System.out.println(1);
// }
// // 提醒remove 因为永远也执行不到
// System.out.println(2222);
System.out.println(1);
System.out.println(2);
System.out.println(3);
System.out.println(4);
System.out.println(5);
System.out.println("====");
// 0 ~ 9
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
// i 只能在循环体中使用,外面用不到
// System.out.println(i);
// 所以 这里还可以是 i
for (int i = 0; i < 5; i++) {
}
// 想要使用循环中的这个j 必须把作用域提升出去才行
int j = 0 ;
for ( ; j < 5; j++) {
System.out.println("j="+j);
}
// 5
System.out.println(j);
}
}
3.3.1.2嵌套循环使用
package day_03text;
public class Text11 {
public static void main(String[] args) {
// i=0 , j = 0 , j = 1, j=2 , j=3,j=4
// i=1 , j = 0 , j = 1, j=2 , j=3,j=4
// i=2 , j = 0 , j = 1, j=2 , j=3,j=4
// i=3 , j = 0 , j = 1, j=2 , j=3,j=4
// i=4 , j = 0 , j = 1, j=2 , j=3,j=4
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
// 没有ln 就不会换行
System.out.print(j+" ");
}
// 换行
System.out.println();
// xxxx
}
}
}
3.3.1.3九九乘法表
package day_03text;
public class Text12 {
public static void main(String[] args) {
// for (int i = 1; i < 10; i++) {
// for (int j = 1; j < 10; j++) {
// System.out.print(j+" ");
// }
// // 换行
// System.out.println();
// }
for (int i = 1; i < 10; i++) {
// i表示行, 所以小于等于 i 即可
for (int j = 1; j <= i; j++) {
System.out.print(j+"x"+i+"="+(j*i)+" ");
}
// 换行
System.out.println();
}
}
}



