ペ悠然杰 发表于 2022-10-5 02:14:13

30天JAVA入门到入土-8day

自动类型转换:在JAVA进行赋值或运算时,精度小的类型自动转换为精度大的数据类型
                        数据类型 按 精度(容量) 排序两条线不发生自动转换
                              char -> int -> long -> float -> double
                              byte-> short-> int-> long-> float-> double
                              char 、 byte 、 short 三个在进行运算时 会直接提升至 int
                                        基本数据类型:一共8种 【所占字节】
                                                1.数值型:
                                                      整数类型(byte【1】,short【2】,int【4】,long【8】)
                                                      浮点(小数)类型(float【4】,double【8】)
                                                2.布尔型(boolean【1】),存放 true , false
                                                3.字符型(char【2】),存放单个字符 ‘ a ’
                                        1 byte =8 bit (bit 是计算机最小单位字节是最小基本单位)

原码、反码、补码

1、二进制的最高位是符号位 :0表示正数 1表示负数
2、正数的原码、反码、补码都一样(正数三码合一)
3、负数的反码 = 他的原码符号位不变,其他位取反(0->1 , 1->0)
4、负数的补码 = 他的反码 + 1,负数的反码 = 负数的补码 - 1
5、0 的反码,补码都是 0
6、java 没有无符号数
7、在计算机运算的时候,都是以补码的方式来运算的
8、当我们看运算结果的时候,要看他的原码(重点)



位运算符
按位与 & :两位为1 结果为1 否则为0                        (全1为1 否则0)
按位或 | : 两位有一个为1 结果为1 否则为0                (有1为1 否则0)
按位异或 ^ : 两位一个为0 一个为1 结果为1 否则为0   (不一样为1 否则0)
按位取反~ :0变11变0
算数右移 >> : 低位溢出 符号位不变 并用符号位补溢出的高位
算数左移 << : 符号位不变 低位补 0
逻辑右移 / 无符号右移 >>> :低位溢出 高位补 0


循环语句

if的快速入门

//if的快速入门
import java.util.Scanner;
public class If01{
      //编写一个main方法
      public static void main(String[] args){
      //编写一个程序可以输入年龄 如果大于18
      //输出 “您已经成年”
//思路:
      //1、接手输入的年龄, 应该定义一个Scanner对象
      //2、把年龄保存到一个变量 int age
      //3、使用 if 语句进行判断
                Scanner myScanner = new Scanner(System.in);
                System.out.println("请输入年龄");
                int age = myScanner.nextInt();
                if (age > 18) {
                        System.out.println("您已经成年了");               
                }else{
                        System.out.println("你咋未成年啊?");
                }
                System.out.println("程序继续执行");
      }
}

if的多分支结构

//if的多分支结构
import java.util.Scanner;
public class If02{
      //编写一个main方法
      public static void main(String[] args){
      //编写一个程序
      //可以输入芝麻信用分
      //1、信用分为100分时,输出 信用极好
      //2、信用分为(80,99]分时,输出 信用优秀
      //3、 输出 信用一般
      //4、其他情况,输出 信用不及格
//思路:
      //1、接受输入的信用分, 应该定义一个Scanner对象
      //2、把信用分 赋值给 int xinyong
      //3、使用 if 语句进行判断
                Scanner myScanner = new Scanner(System.in);
                System.out.println("请输入信用分 1-100");
                int xinyong = myScanner.nextInt();
                if (xinyong >=1 && xinyong <=100){
                        if (xinyong == 100 ) {
                        System.out.println("信用极好");               
                        }else if( 99 >= xinyong && xinyong > 80){
                        System.out.println("信用优秀");
                        }else if( 80 >= xinyong && xinyong >= 60){
                        System.out.println("信用一般");
                        }else {
                        System.out.println("不及格");
                        }
      }else{
                System.out.println("格式错误");
      }

                }
      }

switch语句运用

1、表达式数据类型 应和case后的常量类型一致,或者是可以自动转换可以相互比较的类型
2、switch 中的表达式返回值必须是:(byte、short、int、char、enum、string)      
3、case 子句中的值 必须是常量(具体的值) 而不是变量
4、default 是可选的 当没有匹配的 case 时,执行 defult (可以不写)
5、berak 语句是用来跳出当前 如果没有遇见 break 程序将会执行完所有条件




//switch语句运用

import java.util.Scanner;
public class Switch02{
      public static void main(String[] args){
                Scanner myScanner = new Scanner(System.in);
                System.out.println("请输入一个字符 a - g ");
                char c1 = myScanner.next().charAt(0);
                //在java中只要有值返回 就是一个表达式
                switch(c1){
                        case 'a':
                        System.out.println("今天是星期一 猴子穿新衣");
                              break;
                        case 'b':
                        System.out.println("今天是星期二 猴子当小二");
                              break;
                        case 'c':
                        System.out.println("今天是星期三 猴子爬雪山");
                              break;
                        default :
                        System.out.println("输入的字符不正确");
                }
                System.out.println("退出了Switch,继续执行程序");
      }
}

for循环控制

for(循环变量初始化;循环条件;循环变量迭代){
                        循环操作(可以多条语句);
}


输出打印十次“王大力出奇迹”
public class for01{
        public static void main(String[] args){
                for(int i = 1 ; i<= 10; i++)
                        System.out.println("王大力出奇迹" + i );
        }
}

while 循环的案例
//while 循环的案例
//输出十次王大力出奇迹
public class While01{
        public static void main(String[] args){
                int i = 1;//循环变量初始化
                while ( i <= 10 ){//循环条件
                        System.out.println("王大力出奇迹" + i );//执行语句
                        i++;//循环变量迭代
                }
                System.out.println("退出While");
        }
}

//打印1-100之间可以被3整除的数字
public class While02{
        public static void main(String[] args){
                int i = 1;
                while( i <= 100 ){
                        if( i % 3 == 0 ){
                        System.out.println("i=" + i );
                }
                        i++;
                }
        }
}
页: [1]
查看完整版本: 30天JAVA入门到入土-8day