Java02 【数据类型转换、运算符、方法入门】

第一节数据类型转换

1.1自动转换:将取值范围小的类型 自动提示为取值范围大的类型

public class Demo{
	public static void main(String[] args){
		//System.out.println("Hello");
		
		//
		int num1  =  10;
		long num2 = 20L;
		double num3 = 30.0;
		float num4 = 40.0F;
		
		byte num5 = 10;
		long num6 =  num5;
		System.out.println(num6);
		
		int num7 = 10;
		double num8 = num7;
		System.out.println(num8);
		
		int a = 10;
		long b = a;
		System.out.println(b);
	}
}

转换图解

byte类型内存占有一个字符,在int类型运算时会提升为int类型,自动补充三个字节,因此计算后的结果会是int类型

Java02 【数据类型转换、运算符、方法入门】_第1张图片

转换规则-范围小的类型向范围大的类型提升,byte short char 直接提升为int

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

1.2强制转换:将取值范围大的类型转换为小的类型

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

public class Demo{
	public static void main(String[] args){
		
		//
		long num = 10L;
		byte num2 = (byte)num;
		System.out.println(num2);
		
		double num3 = 20.5;
		byte num4 = (byte)num3;
		System.out.println(num4);
		
		int a = 50;
		byte b = (byte) a;
		System.out.println(b);
	}
}

转换图解

Java02 【数据类型转换、运算符、方法入门】_第2张图片

注意:

浮点型转成整数,直接取消小数点,可能会有数据精度损失;

int强转为short砍掉俩个字节,可能会有数据丢失;

1.3ASCII编码表:就是将人类的文字和一个十进制进行对应起来的一张表。

Java02 【数据类型转换、运算符、方法入门】_第3张图片

*将所有的英文字母,数字,符号都和十进制进行对应,因此产生了世界上第一章编码表(American Standard Code for inFormaion interchange 美国标准信息交换码)

1.4char与int互转

 将字符保存到计算机中,或者从计算机中读出字符(一个数字对应一个字符)

格式:

int 变量名 = 字符;

char 变量名 = (char)整数

public class Demo{
	public static void main(String[] args){
			
			char ch = '中';  //保存
			int num = ch; 
			System.out.println(num);//20013
			
			
			int n = 200130;   //读取
			char c = (char)n;
			System.out.println(c);
			
			//题
			
			char  c2 = 'a';
			System.out.println(c2 + 1);//97 + 1
	}
}

第二节运算符

2.1算数运算符(+ - * /  %(读作模 理解 取余) ++(自增) --(自减) ):对数据(变量/常量)进行运算

前四种和数学一样

public class Demo{
	public static void main(String[] args){
		int a = 24;
		int b = 4;
		//	+
		System.out.println(a+b);//28
		//	-
		System.out.println(a-b);//20
		//	*
		System.out.println(a*b);//96
		//	/
		System.out.println(a/b);//6
        int a = 10;
		int b = 3;
		//10/ 3 = 3.....1
        System.out.println(a/b);//3
		System.out.println(a%b);//1
	}
}
		
		
	

加号注意事项

俩个作用

对俩个数字有求和作用

public class Demo{
	public static void main(String[] args){
			
			char ch = '中';  //保存
			int num = ch; 
			System.out.println(num);//20013
			
			
			int n = 200130;   //读取
			char c = (char)n;
			System.out.println(c);
			
			//题
			
			char  c2 = 'a';
			System.out.println(c2 + 1);//97 + 1
	}
}

对字符串有想接作用(连接字符串:当+号两边只要有一边出现字符串)

	
		System.out.println("Hello"+"World");// "HelloWorld"
		System.out.println("Hello"+3);//"Hello3"
		System.out.println(3+"Hello");//"3Hello"

例子

public class Demo{
	public static void main(String[] args){
		//1,对两个数求和:当+号两边都是数值
		int a = 24;
		int b = 4;
		System.out.println(a+b);//28
		//	+
		//2,连接字符串:当+号两边只要有一边出现字符串
		
		System.out.println("Hello"+"World");// "HelloWorld"
		System.out.println("Hello"+3);//"Hello3"
		System.out.println(3+"Hello");//"3Hello"
		
		//例子1:  
		System.out.println(5+"+"+5+"="+(5+5));//5+5=10
		
		//例子2:
		int x = 10;
		int y = 20;
		System.out.println(x+"+"+y+"="+x+y);//10+20=1020
		//System.out.println(10+"+"+20+"="+10+20);
		
	}
}

除号的注意事项

1,两个整数相除,无条件去掉小数部分,要整数部分

public class Demo{
	public static void main(String[] args){
		//1,两个整数相除,无条件去掉小数部分,要整数部分
		int a = 10;
		int b = 2;
		int c = 4;
		double d = 4.0;
		int e = 0;
		System.out.println(a/b);//5
		
		System.out.println(a/c);//2.5
        }
}

2,让一个浮点数参与运算符

public class Demo{
	public static void main(String[] args){
		
		int a = 10;
		int b = 2;
		int c = 4;
		double d = 4.0;
		int e = 0;
		
		//2,让一个浮点数参与运算符
		
		System.out.println(a/d);//2.5
		
		
		
		
	}
}

3,除数不能为 0

public class Demo{
	public static void main(String[] args){
		//1,两个整数相除,无条件去掉小数部分,要整数部分
		int a = 10;
		int b = 2;
		int c = 4;
		double d = 4.0;
		int e = 0;
		
		//3,除数不能为 0
		//System.out.println(a/e);//编译不报错,运行奔溃  Exception 不正常
		
		
	}
}

%(取余/模mod)

被除数/除数 = 商.....余数

public class Demo{
	public static void main(String[] args){
		
		int a = 10;
		int b = 3;
		//10/ 3 = 3.....1
		
		System.out.println(a/b);//3
		System.out.println(a%b);//1
		
		//1,倍数关系/整除关系
		
		//例子 奇数 不能被2 整除   偶数 能被2 整除
		int c = 21;
		System.out.println(c%2);//0 偶数 否则 奇数
		
		
	
		
		
		
	}
}

++(自增)-不适用于常量

变量名 = 变量名 + 1;

变量名++;

格式

++变量名;

先加然后变量参与计算

变量名++;

先计算后加

public class Demo{
	public static void main(String[] args){
		
			int num = 10;
			
			//前加加,++变量名;
			//++num; // num = num+1;
			//后加加,变量名++;
			num ++;
			System.out.println(num);
			
			
		
	}
}

混合使用++(不要使用)

int a = 10;
			int b = ++a;// a = 11 新值 int b = 11;
			System.out.println(a);//11
			System.out.println(b);//11

建议单独使用

            int a = 10;
			a++;//11
			int b = a;//b = 11;
			System.out.println(a);
			System.out.println(b);	
public class Demo{
	public static void main(String[] args){
		
			
			int x = 10;
			x++;
			++x;
			System.out.println(x++);
			
		
	}
}

赋值运算符-简化代码( = += -=  *= /= %=)

变量名 = 变量名+值;

变量名 += 值;

public class Demo{
	public static void main(String[] args){
		
		double salary = 10000.00;
		// 		+=
		
		salary += 1000;//相当于 salary = salary+1000;
		
		System.out.println(salary);
		
		// 		-=
		
		salary -= 50; //相当于  salary = salary - 50;
		
		System.out.println(salary);
		
		// 		*=
		
		salary *= 5 ;// 相当于 salary = salary * 5;
		System.out.println(salary);
		
		// 		/=
		
		salary /= 10; //相当于  salary = salary/10;
		System.out.println(salary);
		
		// 		%=
		int num =(int)salary;
		
		num %= 100;  // num = num%100;
		System.out.println(num);
		
		
		//隐含一个强转
		short s = 10;
		//s += 10;
		s =(short) (s + 10); //byte short char 参与运算符自动提升int   short+int  ->int +int 
		System.out.println(s);
		
	}
}

比较运算符-对俩个值进行比较得到一个boolean值(true/false)-> < >= <= ==是否相等!=是否不等

public class Demo{
	public static void main(String[] args){
		//模拟用户输入的数据
		int a =  10;
		int b =  20;
		int c =  10;
		// >  大于
		
		System.out.println(a > b);//false
		System.out.println(b > c);//true
		
		// <  小于
		System.out.println(a < b);//true
		System.out.println(a < c );//false
		
		// >= 大于或者等于
		System.out.println(a >= c );//true
		
		// <= 小于或者等于
		System.out.println(a <= b );//true
		
		// ==  是否相等
		System.out.println(a == c);//true
		System.out.println(a == b);//false
		// !=  是否不等
		System.out.println(a != c);//false
		System.out.println(a != b);//true
	}
}

逻辑运算符-对俩个boolean值进行运算, 结果也是boolean

包含

&& 双与/短路与 表示并且-

|| 双或/短路或 表示或者

! 非               表示相反

表达式1&&表达式2

表达式1||表达式2

!变量

&&--执行过程:表示表达式1执行完如果正确会执行表达式2 如果错误将不执行表达式2

&-----执行过程:表示表达式1执行完如果正确会执行表达式2 如果错误继续执行表达式2

public class Demo{
	public static void main(String[] args){
		//&& 双与 /短路与   表示并且
		
		//例子
		
		System.out.println(true&&true);//true
		System.out.println(true&&false);//false
		System.out.println(false&&true);//false
		System.out.println(false&&false);//false
		
		//口诀:全真为真,一假则假
		
		System.out.println("======");
		//||  双或  /短路或  表示或者
		
		System.out.println(true||true);//true
		System.out.println(true||false);//true
		System.out.println(false||true);//true
		System.out.println(false||false);//false
		
		System.out.println("======");
		
		//口诀:有真为真,全假则假
		
		// !    非  	表示取反   
		//口诀:真变假,假变真
		System.out.println(!true);//false
		System.out.println(!false);//true
		System.out.println("======");
		//短路 ||
		boolean b = true;
		System.out.println(true||!b);//true
		System.out.println(b);//true
		System.out.println("======");
		//短路 &&
		System.out.println(false&& !b);//false
		System.out.println(b);//true
		
		
	}
}

三元运算符(简化版的if  else函数)

java中唯一一个需要三个表达式参与运算的运算符

格式

布尔表达式?表达式1:表达式2

注意:前后的数据类型必须一致

结果必须被使用,直接打印或赋值给一个变量

Java02 【数据类型转换、运算符、方法入门】_第4张图片

public class Demo{
	public static void main(String[] args){
		//模拟用户输入
		int a  = 20;
		int b  = 100;
		
		
		//
		int max = ( a > b ? a : b );
		
		System.out.println(max);
		
		
		System.out.println( a > b ? a : b );
		
		
		boolean d = true;
		/*
		boolean  max2 = (a > b ?  a : d);
		System.out.println(max2);*/
		
	}
}

第三节方法

将相同的代码放在一起(封装),通过调用来使用,达到重复使用代码的目的

public class Demo{
	public static void main(String[] args){
		
		// 
		System.out.println("吃食堂午饭");
		/*
		System.out.println("写代码");
		System.out.println("改BUG");
		System.out.println("运行代码");*/
		
		//方法的调用处
		coding();
		System.out.println("========================");
		System.out.println("吃食堂晚饭");
		/*
		System.out.println("写代码");
		System.out.println("改BUG");
		System.out.println("运行代码");*/
		//方法的调用处
		coding();
		
	}
	
	//方法的定义
	public static void coding(){
		
		System.out.println("写代码");
		System.out.println("改BUG");
		System.out.println("运行代码");
		
		
	}
	
}

方法的使用

1.先定义再用

2.定义格式

public static void  方法名(){

    //一堆代码 方法体

特点:无参无返回值的方法

3.调用格式

方法名();-必须在main程序入口中调用

public class Demo{
	
	
	//2,方法定义之后一定要调用才能执行,目前我们就在main调用
	public static void main(String[] args){
		
		printMax();//方法调用处
		
	}
	
	//1,定义方法,无参无返回值的方法
	
	public static void printMax(){
		
		//模拟整数
		int a = 10;
		int b = 200;
		
		int max = ( a > b ? a : b );
		System.out.println(max);
		
	}
	
}

Java02 【数据类型转换、运算符、方法入门】_第5张图片

方法的注意事项

先定义在使用

1.定义

   a.方法名 见名知意 小驼峰

   b.定义位置,定义在类中其他方法外

   c.可以定义无数个方法

   d.定义的顺序与执行的顺序无关

2.调用

   a.方法名必须准确

   b.方法必须调用才会执行里面的内容

   c.执行的顺序有调用的顺序决定

第四节JShell脚本工具(了解)

JDK9增加的一个功能

用于测试一段代码能不能执行或者执行结果是什么

执行地方类似于cmd窗口

怎么打开?

第一步打开cmd 输入JShell 回车

Java02 【数据类型转换、运算符、方法入门】_第6张图片

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Java)