目录
Java基础知识复习
一、变量
- 概念:存储在计算机内存中的一块位置,是存储数据的基本单位
- 组成部分:数据类型,变量名称,变量值
- 定义变量的步骤:
- 声明
- 赋值(变量的值必须和数据类型一致)
# 定义方式一(声明并赋值) String s = 'Holle world!'; # 定义方式二(先声明后赋值) String s; s = 'Holle wolrd! '; # 定义方式三(多个同类型的变量定义赋值) int a,b; a=b=0;
二、数据类型
-
基本数据类型:
- 整数
- 小数
- 布尔
- 字符
-
应用数据类型
- 字符串
- 数组
- 对象
-
整数
|类型|字节|取值范围(二进制)|取值范围(十进制)|
|:-:neutral_face::-:neutral_face::-:neutral_face::-:neutral_face:
|byte| 1字节 |-2^7 ~ 2^7-1 |-128 ~ 127|
|short| 2字节 |-2^15 ~ 2^15-1 |-32768 ~ 32767|
|int |4字节 |-2^31 ~ 2^31-1 |-2147483648 ~ 2147483647|
|long |8字节 |-2^63 ~ 2^63-1 |-9223372036854775808 ~ 9223372036854775807|
-
小数
类型 | 字节 | 负数取值范围 | 整数取值范围 |
---|---|---|---|
float | 4字节 | -3.4E+38 ~ -1.4E-45 | 1.4E-45 ~ -3.4E+38 |
double | 8字节 | -1.7E+308 ~ 4.9E-324 | 4.9E-324 ~ 1.7E+308 |
- 布尔
类型 | 字节 | 取值范围 | 描述 |
---|---|---|---|
Boolean | 1字节 | true、false | 真、假 |
- 字符
类型 | 字节 | 取值范围 |
---|---|---|
char | 2字节 | 0 ~ 65535 |
** 特殊字符: ** 转移字符(换行符、制表符、引号、斜杠、单引号)
转义字符 | 描述 |
---|---|
\n | 换行符 |
\t | 制表位(缩进等于Tab键缩进) |
\ | 反斜杠 |
\’ | 单引号 |
"" | 双引号 |
注意:其他字符则对应ACII编码表:
- 字符串
类型 | 取值范围 |
---|---|
String | 任何" "之间的字面值 |
- 数组 (引用数据类型)
- 对象 (引用数据类型)
三、类型转换
自动类型转换:
两种类型互相兼容,目标类型大于源类型
char a = 98;
注意:输出a的值为b;
***强制类型转换: ***
两种类型转换,目标类型小于源类型
注意:通过在源类型前面,加上 (目标类型) ,达到强制转换的目的,但是,有可能失去精度。
例如:小数强转为整数,则失去精度,小数点之后的值,无法保留
*** 强制类型转换规则: ***
- 整数长度足够,数据完整。 - 例:int i = 100; byte b = (byte)i; //b = 100 - 整数长度不够,数据截断 - 例:int = 10000; byte b = (byte)i; //b = 16(符号位发生变化,可能为负数) - 小数强转整数,数据截断 - 例:double d = 2.5; int i = (int)d; //i = 2(小数位舍掉) - 字符整数互转,数据完整 - 例:char c = 65; int i = c; //i = 65; - 特殊: boolean的取值为true、false,不可与其他类型转换
包装类:8种基本数据类型对应着的一个类,此类即为包装类
基本数据类型 包装类 及String之间的相互转换
public void demo1(){ int i = 1; System.out.print(i); boolean b = false; }
测试代码
public class demo_1 {public static void main(String[] args) { char a = 98; System.out.println(a); //关于变量的练习 char b = 'c'; System.out.println(b); //关于变量的命名 int aa = 21; int aaa; aaa = 22; int ab, ac = 0; int abb, acc; abb = 0; acc = 0; //关于数据类型的练习 //整数; int demo1 = 10; //小数(浮点数) float demo2 = 3.14f; //布尔型 boolean demo3 = true; boolean demo15 = !demo3; //字符型 char demo4 = a; //字符串 String demo5 = "hello world"; //数组 int[] demo6 = {1, 23, 4, 5}; int[] demo7 = new int[]{1, 2, 3, 4, 5, 6, 67}; int[] demo8 = new int[4]; demo8[0] = 2; demo8[1] = 3; //对象 Java_demo_helloworld demo9 = new Java_demo_helloworld(); //强制类型转换 int demo10 = 100; byte demo11 = (byte) demo10; long demo12 = 10000000; int demo14 = (int) demo12; short demo13 = (short) demo14; System.out.println(); //三目运算符 System.out.println(demo3 != true ? demo3 = !demo3 : demo13); //键盘输入 Scanner demo16 = new Scanner(System.in); // int demo17 = demo16.nextInt(); // System.out.println(demo17); /** if判断语句的使用 **/ Scanner demo18 = new Scanner(System.in); // int demo19= demo18.nextInt(); // if ( demo19>='0'&& demo19<='9'){ // System.out.println("不是数字"); // }else { // System.out.println("输入的是数字"); // if (demo19>=1000){ // System.out.println("输入的数字大于1000"); // } // // } /** switch 的使用 */ // switch (demo18.nextInt()){ // case 1: System.out.println("这是1月");break; // case 2: System.out.println("这是2月");break; // case 3: System.out.println("这是3月");break; // case 4: System.out.println("这是4月");break; // case 5: System.out.println("这是5月");break; // case 6: System.out.println("这是6月");break; // case 7: System.out.println("这是7月");break; // case 8: System.out.println("这是8月");break; // case 9: System.out.println("这是9月");break; // case 10: System.out.println("这是10月");break; // case 11: System.out.println("这是11月");break; // case 12: System.out.println("这是12月");break; // } /** 循环的使用 **/ // int count=0; // while (true){ // count++; // if (count==100){ // break; // }else { // System.out.println(count+1); // } // } /** do while 的使用 **/ // int count = 0; // int demo20; // do { // demo20 = count++; // if (count==100){ // break; // }else { // System.out.println(count+1); // } // } while (count != demo20); } //定义函数 class fun{ public fun(){ } public void in(){ int a,b = 0; a =2; int c = a + b; } } }
更多资料可点击下方公众号