1. 程式人生 > 其它 >Java學習第十七天<自動型別轉換><強制型別轉換><基本資料型別和String型別轉換><算數運算子使用><邏輯運算子>

Java學習第十七天<自動型別轉換><強制型別轉換><基本資料型別和String型別轉換><算數運算子使用><邏輯運算子>

自動型別轉換

package 自動型別轉換;
​
public class AutoConvert {
   public static void main(String[] args) {
     int num ='a';//char>int  小轉大自動轉
     double d1=80;//int>double
     System.out.println(num);
     System.out.println(d1);
   }
}
package 自動型別轉換;
​
public class AutoConvertDetail {
   public static void main(String[] args) {
     int n1=10;
     double d1 =n1 + 1.1; //double>float 加f才是float,否則double
     float d2 =n1 + 1.1f;
     System.out.println(d1);
     System.out.println(d2);
     //表示式結果自動提升為最大型別,byte short char 三者計算時轉為int型別
     byte b1=10;//當把數賦給byte時,先判斷該數是否在byte範圍內,如果是就可以,不是再判斷型別
     //byte short char 三者計算時轉為int型別
     byte b2=1;
     short s1=1;
     int s2=b2+s1;//byte+short>int
     int s3=b1+b2;//byte+byte>int
     //boolean不參與轉換
   }
}

強制型別轉換

package 強制型別轉換;
​
public class ForceConvert {
   public static void main(String[] args) {
     int n1=(int)1.9;
     System.out.println(n1);//降低精度
​
     int n2=2000;
     byte b1=(byte)n2;
     System.out.println("b1="+b1);//溢位
​
     byte b=10;
     b=(byte)(b+11);//int>byte
     System.out.println(b);
package 強制型別轉換;
​
public class ForceConvertDetail {
   public static void main(String[] args) {
     //強制轉換隻針對最近操作有效,使用小括號提升優先順序
     double x1=(int)10*3.5+6*1.5;
     int x2=(int)(10*3.5+6*1.5);
     System.out.println(x1);
     System.out.println(x2);
​
     char c1=128;
     int m=100;
     char c3=(char)m;
     System.out.println(c1);
     System.out.println(c3);
   }
}

基本資料型別和String型別轉換

package 基本資料型別和String型別轉換;
​
public class StringToBasic {
   public static void main(String[] args) {
     float f1=1.1f;
     boolean b1=true;
     String s1=f1+"";
     String s2=b1+"";
     System.out.println(s1+s2);
     System.out.println("=====================================");
     String s5="123";//數字字串能轉,英文如hello不能轉
     int num1 = Integer.parseInt(s5);
     double num2=Double.parseDouble(s1);
     float num3=Float.parseFloat(s5);
     boolean b=Boolean.parseBoolean("true");
     System.out.println(num1);
     System.out.println(num2);
     System.out.println(num3);
     System.out.println(b);
     System.out.println("=====================================");
     System.out.println(s5.charAt(0));//字串轉字元
   }
}

算數運算子使用

package 算數運算子使用;
​
public class ArithmeticOperator {
   public static void main(String[] args) {
     System.out.println(10/4);
     System.out.println(10.0/4);
     double x=10/4;
     System.out.println(x);
     System.out.println("================");
     int i=1;
     i=i++;
     System.out.println(i);//temp=i i=i+1 i=temp
     System.out.println("================");
     int d=1;
     d=++d;
     System.out.println(d);// d=d+1 temp=d d=temp
   }
}

邏輯運算子

package 邏輯運算子;
​
public class LogicOperator {
   public static void main(String[] args) {
​
     int a=4;
     int b=9;
     if (a<1&++b<50){
       System.out.println("ok");
     }
     System.out.println("a="+a+"b="+b);
​
     int c=4;
     int d=9;
     if (a<1&&++b<50){//短路與
       System.out.println("ok");
     }
     System.out.println("c="+c+"d="+d);
     //同理 ||短路或 第一個條件為真,不執行第二個條件,結果為真
   }
}