Java数据类型划分
Java中定义了四类/八种基本数据类型:
1、逻辑型——boolean
2、字符型——char
char c1=65 等价于 char c1=‘A’;
\n(换行) ,\b(退格) ,\t(到下一个表格位,水平制表,即加一个Tab),
\'(单引号),\"(双引号),\\(一个反斜线)
String不是基本数据类型,而是一个类,字符引在“ ”内
s.substring(n)
得到从n号位置到末尾的全部内容
s.substring(b,e)
3、整数型——byte,short,int,long
4、浮点型——float,double
Java浮点类型有固定的表述范围和字段长度
3.14 |
314.0 |
0.314 |
float a = 52; 是整数的话可以没有小数点,但输出时会自动加上小数点
3.14e |
3.14E2 |
314E-2 |
double d=3.14;
float f=3.14f;
答案:ADF
5. 包裹类型
对于基本数据类型,Java提供了对应的包裹(wrap)类型。这些包裹类型将一个基本数据类型的数据转换成对象的形式,从而使得它们可以像对象一样参与运算和传递。下表列出了基本数据类型所对应的包裹类型:
基本类型 |
包裹类型 |
boolean |
Boolean |
char |
Character |
byte |
Byte |
short |
Short |
int |
Integer |
long |
Long |
float |
Float |
double |
Double |
我们看到,除了int和char以外,包裹类型就是把基本类型的名字的第一个字母大写。在Java的系统类库中,所有第一个字母大写的,都是类的名字。所以在编辑程序的时候,一定要小心大小写,以免一不小心犯错。
获得该类型的最大最小值
6. 数值类型之间的转换
7. Java引用类型
8. 基本类型的默认值
Java类的成员变量默认初始化原则
Java变量分类
变量类型 变量名1[=值1][,变量名2[=值2]…]
运算符
优先级 |
运算符 |
类 |
综合性 |
1 |
() |
括号运算符 |
由左至右 |
1 |
[] |
方括号运算符 |
由左至右 |
2 |
!、+(正号)、-(负号) |
一元运算符 |
由右至左 |
2 |
~ |
位逻辑运算符 |
由右至左 |
2 |
++、-- |
递增与递减运算符 |
由右至左 |
3 |
*、/、% |
算术运算符 |
由左至右 |
4 |
+、- |
算术运算符 |
由左至右 |
5 |
<<、>> |
位左移、右移运算符 |
由左至右 |
6 |
>、>=、<、<= |
关系运算符 |
由左至右 |
7 |
==、!= |
关系运算符 |
由左至右 |
8 |
&(位运算符AND) |
位逻辑运算符 |
由左至右 |
9 |
^(位运算符号XOR) |
位逻辑运算符 |
由左至右 |
10 |
|(位运算符号OR) |
位逻辑运算符 |
由左至右 |
11 |
&& |
逻辑运算符 |
由左至右 |
12 |
|| |
逻辑运算符 |
由左至右 |
13 |
?: |
条件运算符 |
由右至左 |
14 |
= |
赋值运算符 |
由右至左 |
!—— 逻辑非 & —— 逻辑与(位运算) | —— 逻辑或(位运算)
^ —— 逻辑异或 && —— 短路与 || —— 短路或
&& —— 第一个操作数为假则不判断第二个操作数
|| —— 第一个操作数为真则不判断第二个操作数
注:与C/C++不同,在Java中,0不能解释为false,非0不能解释为true。
~——取反 &——按位与 |——按位或 ^——按位异或
例:00000101<<3=00101000
例:11111011>>3=11111111
2.无符号右移
例:11111011>>>3=00011111
补码:正数与原码相同,负数按位取反,末位加1
double z=12.414f;
long l=100; //默认类型转换
int smallval=99L; //非法
int i=(int)l; //强制类型转换
byte b=12; //合法
byte b=4096; //非法
math类
表达式
a
5.0 + a
(a-b)*c-4
i<30 && i%10!=0
char类型相加时变为int类型相加
输入
调试
分支语句
循环体
1. while循环
小套路:如果要模拟运行一个很大次数的循环,可以模拟较少的循环次数,然后作出推断。
2. do-while循环
do
{
<循环体语句>
}while(<循环条件>);
do-while循环和while循环很像,区别是在循环体执行结束的时候才来判断条件。也就是说,无论如何,循环都会执行至少一遍,然后再来判断条件。与while循环相同的是,条件满足时执行循环,条件不满足时结束循环。
3. for循环
for ( i=0; i<5; i=i+1){
System.out.println(i);
}
for ( 初始化; 条件; 单步动作){
}
注:循环控制变量i只在循环里被使用了,在循环外面它没有任何用处。因此,我们可以把变量i的定义写到for语句里面去。
for中的每一个表达式都是可以省略的for(;条件;) == while(条件)
4. break&continue
数组
一维数组的声明方式:
type var[] 或type[] var (推荐使用这种方式);
例如:int a[ ];
int[ ] a1;
double b[ ];
Mydate[ ] c; //对象数组,暂不用了解
注:Java语言中声明数组时不能指定其长度(数组中元素的个数),例如:
int a[5]; //这是非法的
若要指定数组长度,应:a=new int[5];
2.数组的使用
定义并用运算符new为之分配空间后,才可以引用数组的中的每个元素
数组元素的引用方式:数组名[数组元素下标]
数组元素下标可以是整型变量或整型表达式。如a[3],b[i],c[6*i];
数组元素下标从0开始;长度为n的数组合法下标取值范围:0~n-1;
如int a[]=new int[3];可以引用的数组元素为a[0]、a[1]、a[2]
每个数组都有一个属性lenth指明它的长度,例如:a.length 指明数组a的长度(元素个数);
函数
Java的函数必须定义在类的内部,成为类的成员。定义一个函数,要像这样写:
<返回类型> <方法名称>(<参数表>) {
<方法体>
}
返回类型是这个函数运行结束时要返回给调用者的数据的类型,函数可以返回基本数据类型、对象或者void。返回void表示这个函数不返回任何值。函数名称是一个Java名字,一样要遵循和变量一样的命名规则。参数表是0个或1个或多个参数定义,用逗号 ' , ' 分隔。
在这个阶段,我们要在所有的函数的返回类型前面加上关键字“static”。static表示这个函数属于这个类,而不属于这个类的任何对象,因此我们才可以不制造这个类的对象,而直接从main()函数中调用它。
当一个函数被调用时,程序就转到这个函数中去运行,函数体里的语句就一条一条地被调用。一旦函数运行结束,就又回到调用它的地方去继续运行。