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

数据类型转换

  • 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、方法不能定义在另一个方法中

你可能感兴趣的:(Java基础)