(基础+运算符+流程控制)相关案例和重点

  1. 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
    
    • 进制表示
    1. 二进制:以0b开头;
    2. 八进制:以0开头;
    3. 十进制:电脑默认十进制,不用加修饰;
    4. 十六进制:0x开头;
    5. 关键字必须小写
  2. 标识符:(类,方法,变量)

    • 方法跟变量是小驼峰命名:firstName
    • 类名是大驼峰命名:GoodStudent
    1. 键盘入录:
    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
    
    1. 键盘入录+运算:
    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
    9
        
    1
    
  3. System.out.println( ) ; 中的计算

    • 整数可以进行无误加减乘除
    • 小数在加减乘除的时候可能会报错
    • System.out.println(1+2+“abc”+1+2 ) ; // 3abc12 字符串后面的数据默认是字符串类型
    • System.out.println('a'+2); // 99
  4. 类型转换

    • 在转化时字符类型时,小数类型最好选double,byte,short,char类型最好选int,字符类型最好选String
    • byte<short<int<long<float<double
  5. 将输入的个十百位全部输出

    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	
    
  6. 强制转换:(小变大不用强转,大变小必选强转)(将想要转化的类型加括号,后面跟上运算的方法名)

    byte a=50;         // 0011 _ 0010 ,最左面的0是符号位,0表示正1表示负不参与运算
    int v=a;           // (隐式转换)
    
    int a=300byte b=(byte)a;         // 将a强制转换为byte类型 (强制转化)
    
    byte a=10byte b=20byte ab=(byte)(a+b);    // 如果转化的数超过了原有界限,那么就执行符号位不变,原码取反再加1进行赋值
    System.out.println(c); 
    
    30   
    
  7. 字符相加减:(在加减之前会自动转化为ASCII表对应的数值)

    package ko;
    
    public class k1 {
        public static void main(String[] args) {
            char v='a';
            int a=v+5;
            System.out.println(a);
        }
    }
    
    
    102
    
  8. a++跟++a的区别

    package ko;
    
    public class k1 {
        public static void main(String[] args) {
            int a=10;
            int b=a++;                      // b为自增之前的值,a=11,b=10
            int c=++a;                      // c为自增之前的值,a=12,c=12
            System.out.println("a:"+a);
            System.out.println("b:"+b);
            System.out.println("c:"+c);
        }
    }
    
    
    a:12
    b:10
    c:12
    

  9. 入录数值的比较:

    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
    
  10. 逻辑运算符

    & : 并且,两边都为真结果才是真(可以进行两数判断,也可以进行二进制运算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
21
    
    
    
package ko;

public class k1 {
    public static void main(String[] args) {
        int a=7;
        int b=1;
        System.out.println(a&b);
    }
}


1
  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. 三元运算符:

**格式:关系表达式 ?表达式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);
    }
}
  1. 案例:两只老虎

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
体重相等
  1. 案例:三个和尚

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

带括号的先进行运算

  1. 案例.选小吃

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
  1. swicth语句:
swicth(表达式){
    case1:   
        语句体1;
        break;            // 表示跳出,不能省略
    case2;
        语句体2break;
    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) {                         // 在不知道要循环多少次的时候用while
            ge=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	68	9	10	11	
12	1315	1618	19	2022	23	
24	25	26	过	过	29	30	31	32	33	343638	39	40	4143	44	45	464850	51	52	53	54	55	过	过	58	59	
60	61	6264	65	6668	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次都没有猜中时会自动返回猜对了

快捷键:

ctrl+alt+L :快速格式化快捷键

posted @   FoxDusk  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示