Java自学——数据类型转换、运算符、方法

Day02数据类型转换、运算符、方法

Java自学——数据类型转换、运算符、方法_第1张图片

数据类型转换

附:

数据类型 表示 字节 大小
字节型 byte 1个字节 -128~127
短整型 short 2个字节 -32768~32767
字符型 char 2个字节 0-65535
整型 int 4个字节 -231次方~2的31次方-1
长整型 long 8个字节 -2的63次方~2的63次方-1
单精度浮点数 float 4个字节 1.4013E-45~3.4028E+38
双精度浮点数 double 4个字节 4.9E-324~1.7977E+308
布尔类型 Boolean 1个字节 true、false

————————————————

自动转换

取值范围小的类型 自动提升为 取值范围大的类型
规则:范围小的类型向范围大的类型提升, byte、short、char 运算时直接提升为 int 。
byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double

例1:int>byte

 public static void main(String[] args) {
  int i=1;
  byte b=2;
  int j=b+i;
//如果 byte j=b+i;(x),因为int>byte
  System.out.println(j);
 }

输出结果:3
例2:double>int

public static void main(String[] args) {
  int a=1;
  double b=2.5;
  double c=a+b;
//  int c=a+b;错误,因为double>int
  System.out.println(c);  
 }

输出结果:3.5

强制转换

取值范围大的类型 强制转换成 取值范围小的类型

格式: 变量名 = (数据类型)被转数据值;

例1:double转int

int i=(int)1.5;

例2:int转short
先会自动转换成int类型,再强制转换成short类型

public static void main(String[] args) {
  short a=1;
//  a=a+1;错误
  a=(short)(a+1);
 }

PS:浮点转成整数,直接取消小数点,可能造成数据损失精度。 int 强制转成 short 砍掉2个字节,可能造成数据丢失。

ASCII编码表

字符 数值
0 48
9 57
A 65
Z 90
a 97
z 122

例:‘a’+1

public static void main(String[] args) {
  char c='a';
  int i=1;
  System.out.println(c+i);
 }

输出结果:98

运算符

算数运算符

算数运算符包括:

符号 说明
+ 加法运算,字符串连接运算
- 减法运算
* 乘法运算
/ 除法运算
% 取模运算,两个数字相除取余数
++ 、 - - 自增自减运算
  • ++ 运算,变量自己增长1。- -运算,变量自己减少1,用法与 ++ 一致。
  • 独立运算: 变量在独立运算时, 前++ 和 后++ 没有区别
  • 变量 前++ :例如 ++i 。
  • 变量 后++ :例如 i++ 。
  • 混合运算: 和其他变量放在一起, 前++ 和 后++ 就产生了不同。
  • 变量 前++ :变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。
public static void main(String[] args) {
  int a=1;
  int b=++a;
  System.out.println(a);
  System.out.println(b);
 }

输出结果:2 、 2

  • 变量 后++ :变量a先把自己的值1,赋值给变量b,此时变量b的值就是1,变量a自己再加1。
public static void main(String[] args) {
  int a=1;
  int b=a++;
  System.out.println(a);
  System.out.println(b);
 }

输出结果:2 、 1
PS:+符号在字符串中的操作: + 符号在遇到字符串的时候,表示连接、拼接的含义。

赋值运算符

赋值运算符包括:

符号 说明
== 等于号
+= 加等于
-= 减等于
*= 乘等于
/= 除等于
%= 取模等

例:加等于运算

public static void main(String[] args) {
	int i=1;
	i+=1;
	System.out.println(i);
}

运算结果:2

比较运算符

比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值true 或者false 。
比较运算符包括:

符号 说明
== 比较符号两边数据是否相等,相等结果是true。
< 比较符号左边的数据是否小于右边的数据,如果小于结果是true。
> 比较符号左边的数据是否大于右边的数据,如果大于结果是true。
<= 比较符号左边的数据是否小于或者等于右边的数据,如果小于结果是true。
>= 比较符号左边的数据是否大于或者等于右边的数据,如果小于结果是true。
!= 不等于符号 ,如果符号两边的数据不相等,结果是true。

例:

public static void main(String[] args) {
		System.out.println(1==1);
		System.out.println(1!=1);
		System.out.println(1>=1);
		System.out.println(1<=1);
	}

运算结果:true、false、true、true

逻辑运算符

逻辑运算符包括:

  • && 短路与
  1. 两边都是true,结果是true
  2. 一边是false,结果是false
    短路特点:符号左边是false,右边不再运算
  • || 短路或
  1. 两边都是false,结果是false
  2. 一边是true,结果是true
    短路特点: 符号左边是true,右边不再运算
  • ! 取反
  1. ! true 结果是false
  2. ! false结果是true
public static void main(String[] args) {
	System.out.println(true&&true);
	System.out.println(false&&false);
	System.out.println(true&&false);
	System.out.println(false&&true);
	System.out.println(true||true);
	System.out.println(false||false);
	System.out.println(true||false);
	System.out.println(false||true);
	System.out.println(!false);
}

输出结果:true
false
false
false
true
false
true
true
true

三元运算符

三元运算符格式:

数据类型 变量名 = 布尔类型表达式?结果1:结果2

三元运算符计算方式:
布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。
布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。
例:

public static void main(String[] args) {
	int i=(1==1?100:200);
	System.out.println(i);
	int j=(1!=1?100:200);
	System.out.println(j);
}

输出结果:100、200

方法

方法的定义

定义格式

修饰符 返回值类型 方法名 (参数列表){
代码...
return ;
}

修饰符: 目前固定写法 public static 。
返回值类型: 目前固定写法 void ,其他返回值类型在后面的课程讲解。
方法名:为我们定义的方法起名,满足标识符的规范,用来调用方法。
参数列表: 目前无参数, 带有参数的方法在后面的课程讲解。
return:方法结束。因为返回值类型是void,方法大括号内的return可以不写。

public static void methodName() {
		System.out.println("方法名");
	}

方法的调用

1.直接调用:直接写方法名调用

public static void methodName() {
		System.out.println("方法名");
	}
public static void main(String[] args) {
		methodName();
	}
  1. 赋值调用:调用方法,在方法前面定义变量,接收方法返回值
public static int methodName(int a,int b) {
		return a+b;
	}
	public static void main(String[] args) {
		int sum=methodName(5,6);
		System.out.println(sum);	
	}
  1. 输出语句调用:在输出语句中调用方法, System.out.println(方法名()) 。
public static int methodName(int a,int b) {
		return a+b;
	}
	public static void main(String[] args) {
		
		System.out.println(methodName(5,6));	
	}

注:不能输出void类型的方法,否则错误

方法的重载

方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。
参数列表:个数不同,数据类型不同,顺序不同。
重载方法调用:JVM通过方法的参数列表,调用不同的方法。

JShell 脚本工具

jdk9的新特性,笔者没有
Java自学——数据类型转换、运算符、方法_第2张图片

你可能感兴趣的:(java,自学)