本节重点思维导图
Java程序结构
public class类名 {public static voidmain(String[] args){//……语句
}
}
一门语言是由以下各种元素组成:
关键字
数据类型
变量
运算符
表达式
语句
流程控制语句
关键字
数据类型
基本数据类型:boolean char byte short int long float double
引用数据类型:除了8种基本数据类型之外,其它的全部是引用数据类型
在Java中,引用类型的变量非常类似于C/C++的指针。
引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型。变量一旦声明后,类型就不能被改变了。
对象、数组都是引用数据类型。
所有引用类型的默认值都是null。
一个引用变量可以用来引用任何与之兼容的类型。
例子:Site site = new Site("Runoob")。
1bit(位) 1byte(字节)=8bit 1kb=1024byte 1M=1024kb 1G = 1024M 1T = 1024G 1pb=1024T
基本数据类型表
类型名称
长度(占计算机空间)
表示数值的范围
举例
布尔型
boolean
1bit
true false
整型数值
byte
1个字节
-27~ 27-1
short
2byte
-215~ 215-1
int
4byte
-231~ 231-1
long
8byte
-263~ 263-1
浮点数值
float
4byte
有自己的算法,远远大于2N
double
8byte
字符型
char
2byte
0 ~ 216-1
一对单引号括起来的单个字符
都是正数
变量
变量的定义
数据类型 变量名;
变量的赋值
数据类型 变量名 = 值;
或
数据类型 变量名;
变量名= 值;
变量命名规范
变量定义&赋值代码演示
public classDemo{public static voidmain(String[] args) {boolean b1 = true;boolean b2 = false;int i1 = 0;int i2 = 8888;inti3;
i3= 9999;
i3= 99999999;
i3= 2147483647;
i3= -2147483648;byte byte1 = 0;//byte byte11 = (byte)0;//强制类型转换
byte byte2 = 127;byte byte3 = -128;short s1 = 789;short s2 = 32767;short s3 = -32768;long abc1 = 34;long abc2 = 2147483649L;long abc3 = -2147483648;long abc4 = -214748364889L;double d1 = 0;double d2 = 0.0;double d3 = 3271947123498321741239847321984712.0;double d4 = -3271947123498321741239847321984712.0;float f1 = 888;float f2 = 0.0f;float f3 = 0.0F;float f4 = 2147483648L;char c1= ' ';char c2 = 'a';//char c3 = 'abc';
char c4 = 0;
System.out.println("----------char c4 = 0 ----------");
System.out.println(c4);
System.out.println("--------------------");char c5 = '0';
System.out.println("----------char c4 = '0 '----------");
System.out.println(c5);
System.out.println("--------------------");char c6 = 65535;
System.out.println("----------char c6 = 65535----------");
System.out.println(c6);
System.out.println("--------------------");
System.out.println("-----int i7 = 'a' --------");int i7 = 'a';
System.out.println(i7);int i8 = '?';
System.out.println("-----int i8 = '?' --------");
System.out.println(i8);
}
}
演示
尤其:
public classDemo{public static voidmain(String[] args) {char dddd= 97;
System.out.println(dddd);int eeee = 'a';
System.out.println(eeee);
}
}
即:
常量
程序运行时不能被修改
使用 final 关键字来修饰常量
通常大写字母
final double PI = 3.1415927;
byte、int、long、和short都可以用十进制、16进制以及8进制来表示
前缀 0 表示 8 进制,而前缀 0x 代表 16 进制
int decimal = 100;int octal = 0144;int hexa = 0x64;
字符串常量和字符常量 可以包含任何Unicode字符
char a = '\u0001';
String a= "\u0001";
补充
1. Float类型的数据同理
2.
3.
4.
引用数据类型与基本数据类型的区别:
基本数据类型作为方法的参数,传递的是数据,对原来的参数没有影响
引用类型作为方法的参数时,传递的是地址,而不是字面值,String类型除外。
例【1】:
public classDemo2 {public static voidmain(String[] args) {int[] aa = { 1, 2, 3, 4};int[] bb = { 5, 6, 7, 8};
sum(aa, bb);for (int i = 0; i < 4; i++) {
System.out.print(aa[i]+ "\t");
}
System.out.println();for (int i = 0; i < 4; i++) {
System.out.print(bb[i]+ "\t");
}
}public static void sum(int[] a, int[] b) {for (int i = 0; i < 4; i++) {int temp = a[i] +b[i];
System.out.println(temp);
}
}
}
例【2】:
public classDemo5 {public static voidmain(String[] args) {
String str= "hello";int[] aa = { 1, 2, 3, 4, 5, 6, };
fun(str, aa);
System.out.println(str);
}public static void fun(String abc, int[] a) {//可变长度的数组
for (int i = 0; i < a.length; i++) {
a[i]= a[i] * 2;
}
abc= abc + "world";
System.out.print(abc+ "\t");for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+ "\t");
}
}
}