Java基礎語法(下)
阿新 • • 發佈:2020-08-14
目錄
型別轉換
強制轉換
/** * @ProjectName: JavaSE * @PackageName: PACKAGE_NAME * @Author: zy7y * @Date: 2020/8/14 上午10:17 * @Description: 型別轉換; 語法 (型別)變數 */ public class TypeConversion { // 由低至高 // byte -> short,char -> int -> long -> float -> double public static void main(String[] args) { int intValue = 128; // int 轉為byte需要強轉,高轉底,會出現記憶體溢位,精度丟失 // byte byteValue = intValue; byte byteValue = (byte)intValue; System.out.println(byteValue); // -128 // 底轉高,將自動進行轉換 double doubleValue = intValue; System.out.println(doubleValue); // 128.0 // 等級 一致時 不需要進行轉換(char型別除外) short shortValue = byteValue; System.out.println(shortValue); // 記憶體溢位,及解決例項 // JDK7新特性,數字之間可以使用下劃線分割 int money = 10_0000_0000; int years = 20; int total = money * years;// -1474836480 記憶體溢位 System.out.println(total); //解決記憶體溢位;將表示式中某一內容,轉成高點的型別 long total1 = (long)money * years; System.out.println(total1); // 20000000000 } }
變數
/** * @ProjectName: JavaSE * @PackageName: PACKAGE_NAME * @Author: zy7y * @Date: 2020/8/14 上午10:37 * @Description: * 定義變數; 語法; 型別 變數名 = 值 * 區域性變數:定義在方法中的變數,必須宣告和初始化值 * 類變數:定義在類中,使用static修飾,屬於類 * 例項變數:定義在類中 * 常量:final 型別 常量名 */ public class Variable { // 常量 static final double PI = 3.14; // 類變數: static, 屬於類 static String job = "軟體測試"; // 例項變數:屬於物件 String adder; public static void main(String[] args) { // 區域性變數:方法裡的變數必須宣告和初始化值 String name = "小明"; char sex = '男'; int age = 23; double height = 1.57; System.out.println(name +',' + sex+',' + age+',' + height + 'm'); // 使用例項變數 Variable variable = new Variable(); System.out.println(variable.adder); // 使用類變數 System.out.println(job); // 當前類使用 System.out.println(Variable.job); // 其他類可以這樣使用 System.out.println(Variable.PI); } }
運算子
算術運算子
package operator; /** * @ProjectName: JavaSE * @PackageName: operator * @Author: zy7y * @Date: 2020/8/14 上午10:58 * @Description: 算術運算子 */ public class BaseOperator { public static void main(String[] args) { // ctrl + d ; 複製當前行到下一行 int a = 10; int b = 20; int c = 30; int d = 40; System.out.println(a + b); System.out.println(c - b); System.out.println(b * d); System.out.println(d / a); // 取餘數:模運算 System.out.println(c % a); // 自動升級 double e = 23; System.out.println(e + a); //結果型別將自動升級成double } }
自增、自減運算子
package operator;
/**
* @ProjectName: JavaSE
* @PackageName: operator
* @Author: zy7y
* @Date: 2020/8/14 上午11:07
* @Description: 自增、自減
*/
public class SelfCalculation {
public static void main(String[] args) {
int intValue = 3;
// 自增
int selfCalculation = intValue++; // intValue = intValue + 1, 先賦值,再自增執行intValue = intValue + 1
System.out.println(selfCalculation); // 3
int intValue1 = 3;
int selfCalculation1 = ++intValue1; // intValue = intValue + 1,先運算再賦值,
System.out.println(selfCalculation1); // 4
// 自減
System.out.println(intValue); // 4
selfCalculation = intValue--;
System.out.println(selfCalculation); // 4
System.out.println(intValue1); // 4
selfCalculation1 = --intValue1;
System.out.println(selfCalculation1); // 3
// 次方運算
System.out.println(Math.pow(2,3));
}
}
邏輯運算子
package operator;
/**
* @ProjectName: JavaSE
* @PackageName: operator
* @Author: zy7y
* @Date: 2020/8/14 上午11:16
* @Description: 邏輯運算子
*/
public class LogicalOperators {
public static void main(String[] args) {
boolean booleanTrue = true;
boolean booleanFalse = false;
// 與運算:&&, 兩個變數值都為真,結果才為true
System.out.println(booleanTrue && booleanFalse); // false
// 或運算;兩個變數有一個為真,結果就為true
System.out.println(booleanFalse || booleanTrue); // true
// 非運算;如果為真,結果就是假,如果為假,結果就是真
System.out.println(!(booleanTrue || booleanFalse)); // false
}
}
位運算子
package operator;
/**
* @ProjectName: JavaSE
* @PackageName: operator
* @Author: zy7y
* @Date: 2020/8/14 上午11:23
* @Description: 位運算子; 二進位制使用
*/
public class BitOperation {
public static void main(String[] args){
/*
* A = 0011 1100
* B = 0000 1101
*
* & 與, | 或, ^異或, ~取反
* A & B : 如果兩位都是1才為1否則為0 , 0000 1100
* A | B : 如果有一位為1 結果就為1, 0011 1101
* A ^ B : 如果相同為0,否則為1, 0011 0001
* ~B : 如果為0變為1,1變為0 :1111 0010
*
* << : * 2
* >> : / 2
* */
// 0000 0001 : 十進位制為1, 0000 0010 : 十進位制為2 0000 0100:十進位制為4,0000 1000 8, 結論左移動一位 * 2
// 轉換成2進位制; 0000 1000 右移2位 :0000 0010
System.out.println(8 >> 2); // 2
// 轉換成2進位制; 0000 1000 左移2位:0010 0000
System.out.println(8 << 2); // 16
}
}
三元運算子
package operator;
/**
* @ProjectName: JavaSE
* @PackageName: operator
* @Author: zy7y
* @Date: 2020/8/14 上午11:41
* @Description: 三元運算子; 語法 x ? y :z; 表示式 ? 為true時執行: 為false執行
*/
public class TernaryOperation {
public static void main(String[] args) {
int score = 50;
String type = score < 60 ? "不及格" : "及格";
System.out.println(type);
}
}
包機制
命名:一般使用公司域名倒置;com.zy7y.cnblogs
// 匯入包下所有類(.class檔案)
import com.zy7y.cnblogs.operator.*;
JavaDoc生成文件
javadoc -encoding UTF-8 -charset UTF-8 Variable.java
Idea 生成Javadoc:https://blog.csdn.net/cai454692590/article/details/85286139