javaSE基础语法

本文详细介绍了Java中的基本数据类型转换,包括默认转换和强制转换,以及转换过程中可能遇到的溢出和精度问题。此外,还讨论了条件语句如if和switch的用法,以及循环结构如for、while和do-while循环的使用示例。
摘要由CSDN通过智能技术生成

目录

1.java基本数据类型的转换

2.条件语句

if语句

switch语句

3.循环

for循环

while循环和do while循环

1.java基本数据类型的转换

默认转换:容量小的类型默认转换成容量大的类型;byte,short,char-->int-->long-->float-->double;

byte,short,char他们三者之间不能相互转换,计算时会转换成int类型;

强制转换: 容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出。

boolean类型不能与其他七种类型进行转换;

再进行混合运算时,都会转换成容量最大的数据类型;

 /*
       基本数据类型之间转换
         byte 1 short 2 int 4  long 8
         float 4 double 8
         char 2 虽然是字符,但是实际是unicode编码中的一个十进制整数 可以把他当做整数来对待

         boolean  不能和其他其中类型进行转换   true false

         转换规则
            容量小的转容量大的
              byte 1字节 127  -- short 2字节
            容量大得转容量小的
             int 4字节 129 --- byte 1字节

             float是4字节,但是由于小数的二进制存储与整数二进制存储结构不同,
             4字节的float大于4字节的int,大于8字节的long
             byte->short->char->int->long->float->double
     */

    public static void main(String[] args) {
        //容量小的转容量大的  可以直接进行转换
          byte a = 127;
           int b = a;
           long c = b;
           float d = c;
        //容量大得转容量小的
        //大转小: 出现溢出
          int m = 658;
          byte n = (byte)m; //int --> byte 编译器不能通过
          System.out.println(n);
          float x = 10.5f;
          //大转小: 精度损失
          long y  =  (long)x;
          System.out.println(y);

          char z  = 'a'; //97  char也是可以参与转换的
          int zc = z;

          byte aa = 10;
          byte bb = 10;
          byte cc = (byte)(aa+bb);//byte short,char 在混合运算时,都是上升为int类型

          double dd   = x  + m + a + 5.5; //混合运算时,小类型默认都会转为最大的类型

    }

2.条件语句

if语句

if(条件表达式){  代码块   }
       if(条件表达式){   代码块 }else{  代码块 }
       if(条件表达式){  }else if(条件表达式)...else if(条件表达式){  }else{   }

 public static void main(String[] args) {

           int a = 10;
           //语法支持 一行代码时,可以不用写{ }
           if(a<5)
               System.out.println("a>5");
               System.out.println("a>5");//此行代码是不在if控制范围内的,需要注意

    }

switch语句

switch 与 if 语句比较类似, switch能够实现的功能,if语句都能实现
       switch一般用于选择一些固定的选项,如一周有7天,一年有四季...

          switch(表达式) 表达式的值只能是byte short  char int  枚举 String类型
          case后面只能是字面量,不能重复;
          在case代码块中使用break语句终止流程,如果没有添加break,那么程序将会继续向下执行后面的case 

   public static void main(String[] args) {
		/*
		          int  a = 2;
          switch(表达式 a){
             case  字面量值 1 :
                        case对应的代码块
                        [break];可选的
             case 2 :
                     case对应的代码块
                .....
              default:
                   默认代码块
          }
		*/
           String a  = "5";
         // int b = 1;
           switch (a){
               case "1" :
                   System.out.println("case1");
                     break;
               case "2":
                   System.out.println("case2");
                   break;
               case "3":
                   System.out.println("case3");
                   break;
               default:
                   System.out.println("输入的内容不合法");
           }
    }

3.循环

for循环

      为了循环已知次数的情况,使用for循环
        for(int i=0;i<10;i++){
            循环体
        }
        for循环用于已知次数

        for(变量的定义,只执行一次;进入循环的条件多次执行;变量的更新,多次执行){
               循环体(多次执行)
        }

    public static void main(String[] args) {

         for(int i=0;i<10;i++){
             System.out.println("i="+i);
         }

         int i=0;
         for(;i<10;i++){
             System.out.println(i);
         }

        int i=0;
        for(;i<10;){
            System.out.println(i);
            i++;
        }

        for(;;){
            System.out.println("aaaa");
        }//死循环
    }

while循环和do while循环

    public static void main(String[] args) {
          while(true){

          }//死循环

          int a = 1;
          while(a<10){
              System.out.println(a);
              a++;
          }
        System.out.println("a="+a);

        char c = ' ';
        do{
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入一个小写字母");
            c = scanner.next().charAt(0);// charAt(0) 获取字符串的第0个位置的字符
        }while('a'<=c&&c<='z');
    }
     public static void main(String[] args) {
     /*   
          *****
          *****
          *****
          *****
          *****
*/
         for (int i=0;i<5;i++){//外层循环,控制行数  外层循环执行一次
             for(int j=0;j<5;j++){//内层循环    内层循环需要执行5次
                 System.out.print("*"); //println()会自动换行  print()不会自动换行
             }
             System.out.println();//换行
         }

         /*
             *
             **
             ***
             ****
          */

         for(int i=1;i<=9;i++){
              for (int j=1;j<=i;j++){
                  System.out.print(j+"*"+i+"="+(i*j)+" ");
              }
             System.out.println();
         }

         //outer 是为外层循环定义一个标签,标签名字可以自定义
        outer:for (int i=0;i<5;i++){
               for(int j=0;j<5;j++){
                 if(j==3){
                     break outer;//在内层循环中,使用break语句,只能终止当前所在的循环,默认不能终止上一层循环
                                 // break 某层循环的标签名
                 }
                 System.out.println("j="+j);
             }
             System.out.println("i="+i);
         }
     }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值