目录
Java数据类型
1、基本数据类型
2、引用数据类型
基本数据类型转换
1、默认转换
2、强制转换
ASCll码和Unicode码的区别
运算符
1、算数运算符
2、逻辑运算符
3、赋值运算符
4、比较运算符
5、条件运算符
6、位运算符
条件语句
1、if
分支语句
1、switch语句
注意事项:
循环语句
循环语句的功能
循环语句的四个组成部分
循环语句的分类
1、while循环
2、do while 循环
3、for循环
使用时如何选择循环?
java中的方法
1、方法定义
Java数据类型
1、基本数据类型
- 数值型(byte,short,int,long)(float,double)
- 布尔型(Boolean)逻辑值,不可以用0和1来代替false和true
- 字符型(char)
2、引用数据类型
用系统中的类作为字符串变量类型,例如:String
String类型不能转为其他的基本类型
| 类型 | 占用存储空间 | 表述范围 | |
| 整数型 | byte | 1个字节 | -128~127 讯享网 |
| short | 2个字节 | 讯享网 |
|
| int | 4个字节 | ||
| long | 8个字节 | ![]() |
|
| 字符型 | float | 4个字节 | -3.403E38~3.403E38 |
| double | 8个字节 | -1.798E308~1.798E308 | |
| 布尔型 | boolean | 逻辑值 | true / false |
| 类 | String | ------- | -------- |
public static void main(String[] args){ //布尔型和布尔型 boolean a=true; boolean b=false; System.out.println(a!=b);//true //引用类型和引用类型 String s1="abcd"; String s2="bcad"; System.out.println(s1==s2);//false int c=10; System.out.println(c>'a');//false }
基本数据类型转换
在Java程序中,不同的基本数据类型(只有7种,不包含Boolean类型)之间可以进行相互转换。
转换分为默认转换和强制转换
char
short ------> int -------> long --------> float ---------> double
byte
1、默认转换
小容量转换大容量
2、强制转换
大容量转换小容量
容易出现溢出或者精度降低的问题
讯享网public class D_5data_change { public static void main(String[] args) { //小容量转换为大容量 byte a=127; short b=a; int c=b; long d=c; float e=d; double f=e; System.out.println(f);//127.0 //大容量类型转化为小容量 int x=263;//4个字节 byte y=(byte)x;//1个字节,强制转换 System.out.println(y);//7 float z=10.55f;//4个字节 int v=(int)z; System.out.println(v);//10 精度降低 } }
ASCll码和Unicode码的区别
- ASCll(ASCII American Standard Code for Information Interchange美国信息互换标准代码),是对英语字符与二进制之间的关系,做了统一规定,被称之为ASCII码。ASCII码在计算机内部,所有数据都使用二进制表示。每一个二进制位(bit)有0和1两种状态,因此8个二进制位可以组合出256种状态,这被称之为一个字(byte),ASCII码一共规定了128个字符的编码。
- 缺点:不能表示所有字符
- Unicode:将世界上所有的符号都纳入其中,范围到十六进制0x10FFFF,有110多万,每个字符都有一个唯一的Unicode编号,例如:“马”的Unicode是U+9A6C
- Java底层采用Unicode编码来存储字符。
运算符
- 算数运算符
- 逻辑运算符
- 赋值运算符
- 比较运算符
- 条件运算符
- 位运算符
1、算数运算符
| 运算符 | 运算 |
| + | 1、正号 2、加法运算(数值+数值)(字符+数值) 3、连接(数值+字符串)(字符串+字符串) |
| - | 1、减法运算 2、符号 (不能连接)
|
| * | 乘 |
| / | 除 |
| % | 取模 |
| ++ | 1、a++ 先取值后运算 2、++a 先运算后取值 |
| -- | 1、a-- 先取值后运算 2、--a 先运算后取值 |
public static void main(String[] args) { int A=10; int B=A++;//B=10,A=11,注意:先给B赋值再运算 int C=++A;//c=12,注意:先自加再赋值 A++;//A=12+1=13 ++A;//A=13+1=14 ++B;//B=11 C++;//C=13 ++C;//C=14 System.out.println("A="+A);//14 System.out.println("B="+B);//11 System.out.println("C="+C);//14 //例题 int i = 1; //i=2->3->4->5->6 int j = ++i + i++ + ++i + ++i + i++;//j=2+2+4+5+5 System.out.println(i);//6 System.out.println(j);//18 int a = 10, b = 10, c = 10; boolean result = a++ == 10 && b-- == 10 || ++c == 10; System.out.println(a);//11 System.out.println(b);//9 System.out.println(c);//10 System.out.println(result);//true int i1 = 10, i2 = 10; System.out.println("i1 + i2 = " + i1 + i2);//1010 System.out.println("i1 - i2 = " + i1 - i2);//语句错误 System.out.println("i1 * i2 = " + i1 * i2);//100 System.out.println("i1 / i2 = " + i1 / i2);//1 }
2、逻辑运算符
| 运算符 | 名称 | 说明 |
| & | 逻辑与 | 区别与联系 |
| && | 短路与 | |
| | | 逻辑或 | |
| || | 短路或 | |
| ! | 逻辑非 | 取反 |
| ^ | 逻辑异或 | 相同为假,不同为真 |
讯享网public static void main(String[] args) { int x=10; int y=5; int z=1; //&:左右两边都是true,有一个false,结果就为false //&:当遇到false后,还会继续执行后面的表达式 System.out.println(x>y & y>z);//true & true--->true System.out.println(x>y & y<z);//true & false--->false System.out.println(x<y & ++y<z);//false & false--->false System.out.println(y);//6 //&&:左右两边都是true,有一个false,结果就为false //&&:当遇到false后,不会继续执行后面的表达式 System.out.println(x>y && y>z);//true & true--->true System.out.println(x>y && y<z);//true & false--->false System.out.println(x<y && ++y<z);//false & false--->false System.out.println(y);//6 ++y没有执行 int x1=10; int y1=5; int z1=1; //|:两边都为false,有一个true,结果就为true //|:当遇到true后,还会继续执行后面的表达式 System.out.println(x1>y1 | y1>z1);//true & true--->true System.out.println(x1>y1 | ++y1<z1);//true & false--->true System.out.println(x1<y1 | y1<z1);//false & false--->false System.out.println(y);//6 //||:两边都为false,有一个true,结果就为true //||:当遇到true后,不会继续执行后面的表达式 System.out.println(x1>y1 || y1>z1);//true & true--->true System.out.println(x1>y1 || ++y1<z1);//true & false--->true System.out.println(x1<y1 || y1<z1);//false & false--->false System.out.println(y);//6 ++y没有执行 //!:逻辑非 取反 System.out.println(!(x>y));//false //^:逻辑异或 相同为假,不同为真 System.out.println(true^true);//false System.out.println(false^true);//true }
3、赋值运算符
| 运算符 | 说明 |
| = | 赋值运算(区分==) |
| += | 加法运算(隐式类型转换) |
| -= | 减法运算 |
| /= | 除法运算 |
| *= | 乘法运算 |
| %= | 取余运算 |
public static void main(String[] args) { //赋值运算符 //1、区分==和= //=:右边赋值给左边,赋值时,注意左右两边的数据类型,不同时,要遵循数据类型转换规则 //==:比较运算符 Boolean b1=false; if (b1=true) { System.out.println("结果为真");//√ } else if(b1==false)//此时b为true,此语句不执行 { System.out.println("结果为假"); } //2、+=赋值时会隐式类型转换 int a=10; long b=a+2;//b=12 short s=3; a+=5;//a=15 //如果是:s=s+3; 那么:short=shor+int 提示错误 s+=32767;//会隐式类型转换 short=(short)int System.out.println(a);//15 System.out.println(b);//12 System.out.println(s);//-32766 }
4、比较运算符
| 运算符 | 运算 | 范例 | 结果 |
| == | 相等于 | 4==3 | false |
| != | 不等于 | 4!=3 | true |
| < | 小于 | 4<3 | false |
| > | 大于 | 4>3 | true |
| <= | 小于等于 | 4<=3 | false |
| >= | 大于等于 | 4>=3 | true |
| instanceof | 检查是否是类的对象 | "Hello"instanceof String | true |
5、条件运算符
- 语法
(条件表达式)?表达式1:表达式2;
讯享网public static void main(String[] args) { int a=40; String result=(a>=60)?"及格":"不及格"; System.out.println(result);//不及格 }
6、位运算符
| 运算符 | 运算 | 说明 |
| << | 左移 | 左移一位,相当于乘2 被移除的高位丢弃,空缺位补0 |
| >> |
右移 | 右移一位,相当于除以2 高位移动后,正数补0,负数补1 |
| >>> | 无符号右移 | 右移一位,相当于除以2 高位移动后,默认都补0 |
| & | 与 | 可以进行逻辑运算(左右两边都是逻辑值) 也可以进行位运算(左右两边都是数值) |
| | | 或 | |
| ^ | 异或 | |
| ~ | 非 | 各二进制码按照补码各位取反 |
public static void main(String[] args) { int a=2; int b=3; int c=-8; //0010 2 //0100 4 左移一位 a=a<<2;//左移两位:0000 0000 0000 1000 8 //0011 3 //0001 1 右移一位 b=b>>1;//0000 0000 0000 0001 //1111 1111 1111 1000 负数在计算机中以二进制补码的形式存储 -8 //1111 1111 1111 0111 反码(补码减一) //0000 0000 0000 1000 源码(反码取反)8 c=c>>>1; //0111 1111 1111 1100 在补码的基础上右移1,最高位默认补0, //c= System.out.println(a);//8 System.out.println(b);//1 System.out.println(c);// //0000 1000 a=8 //0000 0001 b=1 //0000 0000 a&b=0 //0000 1001 a^b=9 //0000 1001 a|b=9 System.out.println(a&b);//0 System.out.println(a^b);//9 System.out.println(a|b);//9 }
条件语句
1、if
讯享网 if(条件表达式,最终返回一个布尔值){ } if(条件表达式,最终返回一个布尔值){ }else{ } if(条件表达式,最终返回一个布尔值){ }else if(条件表达式,最终返回一个布尔值){ }
例题:
public class Demo{ public static void main (String args[]) { int n = 100; int m = 20; if (m++ <= 20 || n == n++)// true||不再执行 m=21 System.out.println(n);//100 System.out.println(m);//21 boolean state=false; int i=2; if((++i>2)&&(state=true)) i++; if((++i>4)||(state=false)) i++; System.out .println (i);//6 } }
分支语句
1、switch语句
多分支选择语句,根据表达式的值,执行多个操作中的一个
注意事项:
- case语句后面只能使用常量(字面量)表达式(byte,short,in,char,枚举类型,String类型)
- case后的值不能重复
- 某个case分支如果没有break,继续执行下一个case后的语句。(穿透性)
- 凡是switch可以实现,if也可以,反之不行
switch(表达式){
case value1: 代码块
break;
case value2: 代码块
break;
case value3: 代码块
break;
default: 默认代码块;}
讯享网public class D3_3switch { /* 表达式的值可以是byte,Byte,short,Short,int,Integer,char,Character,枚举类型,String类型; */ public static void main(String[] args) { int input=0; switch(input) { case 1: System.out.println("4"); break; case 2: System.out.println("5"); break; default: System.out.println("重新输入"); } } }
循环语句
循环语句的功能
在某些条件满足的情况下,反复执行特定代码的功能
循环语句的四个组成部分
- 循环变量的初始化
- 循环条件的部分
- 循环体的部分
- 迭代部分
循环语句的分类
- while循环
- do while 循环
- for循环
1、while循环
while(逻辑表达式){
循环体;
迭代部分;
}

2、do while 循环
do{
循环体;
迭代部分;
}while(逻辑表达式);

3、for循环
for(表达式1;表达式2;表达式3){
循环体;
迭代部分;
}
执行规则:
先执行表达式1,接着执行表达式2,若表达式2的值为真,则执行循环语句,接着执行表达式3,再判断表达式2的值,依此重复。
区分do while循环和while:do while循环至少执行一次循环体语句。
for和while循环先判断循环条件语句是否成立,然后决定是否执行循环体。
使用时如何选择循环?
- 遍历有明显的循环次数(范围)的需求,选择for循环
- 遍历没有明显的循环次数(范围)的需求,选择while循环
- 如果循环体语句至少执行一次,可以考录使用do while循环
public static void main (String [] args) { int x=5; while(++x<4) { --x; } System.out.println( "x="+x);//6 for (int i=0; i<10;i++){ if(i==3){ break; } System.out.print (i);//012 } }
java中的方法
Java中的方法类似于c语言中的函数,将完成某个功能的代码进行封装,为其命名。最终可以重复调用,减少代码的冗余。方法必须写在类中(.java文件中)。
1、方法定义
public---->访问权限
static----->静态的 直接可以使用类名调用
void------->表示此方法没有返回值
起一个名字------>方法名
{ }------>方法体
讯享网 public class D3_6means { public static int max(int a,int b){ return a>b?1:0; } public static void main(String[] args) { int a=max(10,34); System.out.println(a);//0 } }



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/116896.html