(轉)Python-functools詳解
1 JavaSE資料型別與運算子
1.1 回顧
語言:java [編譯+解釋] C[編譯] JavaScript【解釋】
Java語言:特性:面向物件,跨平臺,健壯性,分散式,多執行緒等
Jdk:jdk->jre->jvm
Java 程式碼的執行過程:
Java原始檔 [javac] ->位元組碼檔案[.class] ->java ->二進位制,執行
Eclipse:配置jdk,修改編碼,變數,常量,變數命名規則
1.2 Java資料型別概述
1.2.1 資料型別
1.2.2 記憶體區域
1.3 基本型別
1.3.1 分類
1.3.2 範圍
1.3.3 預設值
注意:雖然有預設值,但是作為區域性變數,如果使用前,需要賦值;否則編譯錯誤;而類成員變數則可不賦值。
1.4 引用型別和型別轉換
1.4.1 引用型別有哪些?
除了上節學習到的8種基本資料型別,其他型別都是引用型別;
類,介面,null,陣列,列舉,註解等
1.4.2 基本型別和引用型別差異
1.4.3 型別轉換:
1.5 小練習:
package day02;
/**
* 求"和" : int變數+char變數+float變數+double變數,求和的結果儲存在一個變數中 輸出
*
* @author Administrator
*
*/
public class DemoCalc {
public static void main(String[] args) {
// 定義一個int型別變數
int a = 1;
//定義一個char變數
char ch = 'D';
//定義一個float型別的變數
float f = 2.1212f;
//定義一個double型別的變數
double d = 3.23232d;
// ? sum =int + char + float + double
//Type mismatch(不匹配): cannot convert from double to int
//數學計算的時候,最終結果和表示式中精度最大的那個型別相同
double
// sysout sum
System.out.println("和是: "+sum);
}
}
1.6 運算子
1.6.1 算術
四位數2345,計算各個位上的數字的和,輸出結果.
1.6.2 關係
1.6.3 練習:
package day02;
/**
* 關係運算符介紹(水仙花數判斷)
*
* @author Administrator
*
*/
public class Operator03 {
public static void main(String[] args) {
int n = 153; // 153%10 =>除法得到整數商15 ,餘數為3 =》 % 得到個位數字
int bai = n / 100;
int shi = n / 10 % 10;
int ge = n % 10;
// 判斷153這個數字是否是水仙花數 輸出true或者false就可以.
// sysout(1*1*1 + 5*5*5 +3*3*3 == 153)
System.out.println(bai * bai * bai + shi * shi * shi + ge * ge * ge == n);
}
}
1.6.4 位
8<<2
先將10進位制的8轉換為2進位制; 1000
. |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
. |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
再移位
1 |
0 |
0 |
0 |
0 |
0 |
25 =>32
再將2進位制的值轉換為10進位制;
10進位制轉換為2進位制: 除以2取餘數;
2進位制轉換為10進位制: 乘以2的n次方,累加求和。
100000000
28…22 21 20
8>>2
先將10進位制的8轉換為2進位制; 1000
. |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
. |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
10轉換後變成了2
1.6.5 練習題:
3<<3
32>>2
1.6.6 邏輯
1.6.7 賦值
1.6.8 條件
1.7 課堂練習:
交換兩個數,要求不能定義第三個變數:
1.8 總結:
- 資料型別:基本型別和引用型別
- 基本型別的8個型別要記熟;int ->4位元組
- 型別轉換: 自動轉換(隱式) , 強制轉換(顯式)
- 運算子: 算術,比較,賦值
1.9 作業:
- 智慧教學雲平臺的作業
- 本週內容總結,思維導圖,word文件,手寫都行.
- 編碼題目一定要數量,下週一默寫.
1.10 控制檯輸入:
package day02;
import java.util.Scanner;//"匯入"java.uitl包中的Scanner類
/**
* 控制檯輸入
*
* @author Administrator
*
*/
public class Demo07 {
public static void main(String[] args) {
// java工具 ,掃描器 Scanner 類 所在的包java.util
//1- Scanner類 引用名= new Scanner(System.in);
Scanner input = new Scanner(System.in);
//2- 輸入提示文字
System.out.println("請輸入整數x,y,z");
//3- 以空格或者回車作為一個輸入結束
//nextInt接收
int x = input.nextInt();
int y = input.nextInt();
int z = input.nextInt();
// 4 求三個數字中的最大(小)值
// x和y比較,得到最大值 m;
// 用m和z比,得到最大值
int m = x > y ? x : y;
m = m > z ? m : z;
System.out.println("max is :" + m);
}
}
控制檯輸入三個不同型別的資料,求和後輸出:
package day02;
import java.util.Scanner;
/**
* 控制檯輸入三個分別int float double 求和輸出
*
* @author Administrator
*
*/
public class Demo1010 {
// 入口 main alt+/
public static void main(String[] args) {
// 1. 建立Scanner物件
Scanner i = new Scanner(System.in);
// 2.提示使用者輸入
System.out.println("請輸入int float double..");
// 3.呼叫方法完成輸入
int x = i.nextInt();
float y = i.nextFloat();
double z = i.nextDouble();
// 4.計算
double sum = x + y + z;
// 5.輸出結果
System.out.println("sum :" + sum);
}
}