JAVA入门02——数据类型转换、运算符、方法入门

  • Post author:
  • Post category:java




数据类型转换

  • java程序中要求参与计算的数据,必须保证数据类型一致,如果数据类型不一致将发生类型的转换


自动转换


1、特点:代码不需要进行特殊处理,自动进行

2、规则:从【数据范围小的】转为【数据范围大的】

byte、short、char ‐‐> int ‐‐> long ‐‐> float ‐‐> double

public class Datetype {
	public static void main(String[] args) {
		//将int常量赋值给long类型变量
		// int --> long 符合范围小的转为范围大的,所以不报错,自动将int转为long类型
		long num1 = 300;
	}
}


强制转换


1. 特点:代码需要特殊处理,不能自动进行;

2. 规则:从【数据范围大的】转为【数据范围小的】

3.注意:进行强转时,可能会造成数据损失精度和数据溢出

int a = 2.5; // 错误,右边为double类型大于int类型,所以会报错

int a = (int) 2.5; //进行强制转换为int类型,结果输出为2,小数点丢失即损失精度。

int a = (int) 1000000000000L; //结果输出为1705032704,超出int范围,数据溢出。


ASCII编码表

char zifu = 'A';
System.out.println(zifu + 0); // 打印65 

int a = 1;
System.out.println(zifu + 1); // 打印66

int num = zifu;
System.out.println(num); // 打印65

char zifu2 = '中'
System.out.println(zifu2 + 0); // 打印20013



运算符


算数运算符


-加 +

-减 –

-乘 *

-除 / (整型除法只取商,且商只能是整型,弃掉余数)

-取模 % (只对整型除法有用,只取余数,即取模)

-自增/自减运算符 ++变量、变量++、–变量、变量– (变量自己+1/-1)

-1、单独使用自增自减运算符时,放在变量前还是后无区别

-2、如果是和打印或者赋值语句混合使用,则:

-a、++变量时,变量先加上1再对变量结果进行使用。即先加后用

-b、变量++时,先对变量本来的值进行使用,再+1。即先用后加

//字符串相加表示字符串的拼接
String str1 = "Hello";
String str2 = "World";
System.out.println(str1 + str2); // HelloWorld

//优先级
System.out.println(str1 + 50); // Hello50
System.out.println(str1 + 50 + 10); // Hello5010
System.out.println(str1 + (50 + 10)); // Hello60

//自增自减运算符
int a = 10;
System.out.println(a); // 10
++a;
System.out.println(a); // 11
a++;
System.out.println(a); // 12

int b = 20;
System.out.println(++b); // 21
System.out.println(b); // 21

int b = 20;
System.out.println(b++); // 20
System.out.println(b); // 21

int x = 10;
int y = 20;
int result  = ++x + y-- 
System.out.println(result); // 31
System.out.println(x); // 11
System.out.println(y); // 19


复合赋值运算符


-=、+=、*=、/=、%=

//赋值运算自带强制转换类型
short a += 1; // short a = (short)  (a + 1)


比较运算符


>、<、>=、<=、==、!=

//不能进行连续比较
1 < x < 3 //这种是错误的


逻辑运算符


与 && :遇false则false

或 || :遇true则true

非 ! :遇true则false,遇false则true

-短路逻辑:

-与左边若是false,则右边不计算

-或左边若是true,则右边不计算

int a = 10;
System.out.println(4 < 3 && ++a); // false
System.out.println(a); // 10 与运算的短路,右边++a不计算

int b = 10;
System.out.println(3 < 4 || ++b); // true
System.out.println(b); // 10 或运算的短路,右边++b不计算


三元运算符


数据类型 变量名 = 条件判断 ? 表达式A : 表达式B

-若条件成立则为true,将A赋值给变量

-若条件不成立则为false,将B赋值给变量

int a = 10;
int b = 20;
int max = a > b ? a : b;
 //若a > b为true,则将a赋值给max,max == 10,否则将b赋值给max,max == 20.
 // 右侧表达式数据类型必须和左侧变量的数据类型一致



方法入门


格式

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

public static void 方法名() {
}
//返回值类型是void,多以大括号内不用写return


调用

方法名()


调用练习

public class Demo {
	public static void main(String[] args) {
		practice();  // 调用practice方法
	}
	public static void practice() {      // 创建practice方法
		int i = 1 == 2 ? 100 : 200;
		System.out.println(i);
		int j = 1 < 2 ? 11 : 22;
		System.out.println(j);
	}
}
/* 结果打印为
200
11
*/

注意事项:

1、 方法必须定义在一个类中

2、方法不能定义在另一个方法中



版权声明:本文为BaishuizZz原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。