凡是程序员可以自己命名的单词,在java语言中标识可以标识的那些元素有:类名,方法名,变量名,常量名,接口名...
字母,美元符号,数字,下划线组成
数字不能开头
不能是关键字
不能是null true false
最好见名知意,符合驼峰规则
类名 接口名:首字母大写,后面每个单词首字母大写
方法名 变量名:首字母小写,后面每个单词首字母大写
常量名:全部大写,单词之间用下划线隔开
unicode字符表0~65535
前面128个字符是Ascii码
A 65
a 97
全部小写,具有特殊含义的字符序列
字面值==数据
字面值是java源程序的组成成分之一。包括标识符,关键字他们都是java源程序的组成成分
类型:
整数型字面值:10 100
浮点型字面值:19.0
布尔型字面值:flase
字符串型字面值:"a"
字符型字面值:'a'
java语言中所有字符串型字面值都需要使用双引号
java语言中所有字符型字面值都需要使用单引号
字符是指:字母,数字,字,符号
变量本质上来讲是内存的一块存储空间,这块空间有数据类型 有名字 有数据
变量是存储数据的最基本单元
不同的数据有着不同的数据类型,不同的数据类型底层会分配不同的空间
数据类型是指引程序在运行阶段应该分配多大的内存空间
数据类型 名字【声明一个变量】
名字=字面值【赋值】
数据类型 名子=字面值【声明和赋值一起完成】
=是一个赋值运算符,先计算等号右边式子,表达结束后赋值给左边的变量
第一种:get
第二种:set
在同一个作用域中变量名不能重名,但是变量可以重新赋值
什么是作用域?
便来你给的有效范围,在什么范围之内可以访问得,只要出了这个范围该变量就无法访问
出了大括号就不认识了
局部变量:在方法体中声明的变量,无默认值
成员变量:在类体中声明的变量,有默认值
局部变量是在方法体中,当方法被调用的时候,在栈中为变量分配空间
成员变量是在类加载的时候在方法区内存为变量分配空间
空间大小(单位字节byte) 取值范围
char 1 0~65535
byte 1 -128~127
short 2 -32768~32767
int 4 -2147483648~2147483647
long 8
float 4
double 8
boolean 1
public class DataTypeTest01{
public static void main (String[] args){
//定义一个char类型变量起名为c,同时赋值字符'a'
char c='a';
System.out.println(c);
char x='国';//一个中文占用两个两个字节,char类型正好是两个字节
System.out.println(x);
//char y='ab';
//System.out.println(y);//编译报错,ab是字符串不能使用单引号括起来,不是语句和未结束的字 符文字
//声明
char e;
e='e';
System.out.println(e);
e='f';//再次赋值
System.out.println(e);
//转义字符\
char c1='n';
System.out.println(c1);
char c2='\n';//反斜杠在java语言中具有转义功能,这是一个换行符
System.out.println(c2);
//System.out.println和System.out.print的区别是换行
//普通的字符t
char z='t';
System.out.println(z);
//制表符\t就是tab键和空格不同
char p='\t';
System.out.print("a");
System.out.print(p);
System.out.print("b");
//在控制台输出一个斜杠
char o='\\';
System.out.println(o);
//第一个斜杠具有转义功能,将后面的反斜杠转义成普通字符
//在控制台输出一个单引号
char i='\'';
System.out.println(i);
//在控制台输出一个双引号
char u='"';
System.out.println(u);
}
}
转义字符出现在特殊字符之前,会将特殊字符转换成普通字符
\n换行符
\t制表符
\'普通的单引号
\\普通的反斜杠
\"普通的双引号
public class DataTypeInt02 {
public static void main(String [] args){
int q=10;
int w=010;
int l=0x10;
System.out.println(q);
System.out.println(w);
System.out.println(l);
//数据类型byte short char 其后整数型字面值数据在不超出其范围下可以直接赋值给他们
char cc=65535;
System.out.println(cc);
//byte ss=1000;编译报错类型不兼容
byte ss=100;
System.out.println(ss);
double dd=10/3;
long g=10;
int h=(int) (g/3);
System.out.println(h);
// 在编译的时候只检查语法不进行运算,long型转换成int型需添加强制类型转换符
short ii=10;
short jj=5;
//short kk =jj+ii;short byte char 在进行混合运算时统一变成int类型解决
short kk=(short)(jj+ii);
System.out.println(kk);
}
}
public class Honor {
public static void main (String args []) {
double jiaQi =3.0;
// float pei= jiaQi;编译报错不兼容的类型:从dounle型转换成float型可能会有精度损失
float pei=(float)jiaQi;//输出结果3.0
// float x =0.168;编译报错不兼容的类型:从dounle型转换成float型可能会有精度损失
float x=(float)0.168;//浮点数据类型被默认成double类型,所以大容量转成小容量要进行强制类型转换
// byte y=128;编译报错不兼容的类型:从int类型转换成byte类型可能有精度损失
byte y=(byte)128;//整数型字面值被系统默认成int类型字面值,所以大容量转成小容量要进行强制类型转换
int z =(byte)128;//编译成功,int类型转成byte类型,再由byte类型转换成int,是由小容量转换成大容量成为自动转换类型
System.out. println(z);
System.out. println(y);
System.out. println(x);
System.out. println(pei);
}
}
/*关于基本数据类型之间的转换
1.小容量转换成大容量称为自动转换类型,大容量转小容量为强制转化
2.byte
1.数组是有序的,具有相同数据类型的数据集合
2.数组类型是一组引用数据类型
3.数组是有序的,可以分出先后来,他们在内存中按在先后顺序存放
4.数据分为一维数组,二维数组...
5.数组声明
数据类型[]数组名
int[]a 表示一维数组,只是声明还不能访问他的任何元素
6.一维数组的静态初始化
当我们声明一个数组的同时为这个数组赋值称为数组的静态初始化
int[] a={1,2,3};
a[0]=8;//重新赋值
7.一维数组的动态初始化
第一种:数据类型 []数据名=new 数据类型[size]
int []b=new int[6];
第二种;int []b;
b=new int[6];
System.out.println(b.length);//获得数组的长度
System.out.pringln(b);//获得数组存放的引用,通过该引用可以访问内部元素
System.out.pringln(b[1]);//访问内部元素
int c[][]={{1,2,3},{123,1234,12344}};
System.out.println(c.length);//获得二维数组的长度2
System.out.println(c);//获得数组的引用
System.out.println(c[0][2]);//3解释c[0]确定一维数组,c[0][2]确定一维数组的元素位置
***两个相同的数组有相同的数据类型,一旦二者引用相同,那么二者就有相同的元素。
*/
public class E
{
public static void main (String [] args){
int a[]={1,2,3,4};
int b[]={100,200,300}
b=a;//二者具有相同的引用,就是有相同的元素。a赋值b,b空间元素消失,统一变成a的空间
System.out.println(a.length);//4
System.out.println(b.length);//4
}
由字母,数字,美元符号,下划线组成
首字母不能是数字,不能是关键字,不能是true,false,null
不可以
具有特殊含义的字符数列
不是
char,boolean,byte,short,int,float,double,long
char,boolean,byte,short,int,float,double,long
float常量后缀必须要有f或者F
double常量后缀可以有d或者D,但允许省略该后缀
浮点型数据没有后缀默认都是double类型数据
System.out.println(c.length)
c是一维数组,则获取一维数组的长度
c是二维数组,则获取二维数组中一维数组的个数