Java基础语法02(数据类型转换、运算符、方法入门)

Java基础语法02(数据类型转换、运算符、方法入门)

1.数据类型转换

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

1.1自动转换
一个 int 类型变量和一个 byte 类型变量进行加法运算, 结果会是什么数据类型?

int i = 1;
byte b = 2;

运算结果,变量的类型将是 int 类型,这就是出现了数据类型的自动类型转换现象。

自动转换规则:

取值范围小的类型自动提升为取值范围大的类型

因此可以得出:

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

1.2 强制转换

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

直接将取值范围大的类型赋值给取值范围小的类型会发生什么?

int i = 1.5; // 产生编译失败,无法赋值。

强制转换方法大类型赋值小类型:

数据类型 变量名 = (数据类型)被转数据值;
double类型数据强制转成int类型,直接去掉小数点。
int i = (int)1.5;

注意:

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

2.运算符

2.1算数运算符

+ 加法运算,字符串连接运算
- 减法运算
* 乘法运算
/ 除法运算
% 取模运算,两个数字相除取余数
++ 、 – 自增自减运算

混合运算特例:

  • 和其他变量放在一起, 前++ 和 后++ 就产生了不同。
  • 变量 前++ :变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果都是2。

public static void main(String[] args) { 
	int a = 1; 
	int b = ++a; 
	System.out.println(a);//计算结果是2 
	System.out.println(b);//计算结果是2 
}
  • 变量 后++ :变量a先把自己的值1,赋值给变量b,此时变量b的值就是1,变量a自己再加1。a的结果是2,b 的结果是1。
public static void main(String[] args) { 
	int a = 1; 
	int b = a++; 
	System.out.println(a);//计算结果是2 
	System.out.println(b);//计算结果是1 
}
  • “+”符号在字符串中的操作:
    “+” 符号在遇到字符串的时候,表示连接、拼接的含义。 “a”+"b"的结果是“ab”
    2.2赋值运算符

将符号右边的值,赋给左边的变量。

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

2.3比较运算符

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

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

2.4逻辑运算符

是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false

在这里插入图片描述

2.5 三元运算符

  • 三元运算符格式:

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

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

public static void main(String[] args) { 
	int i = (1==2 ? 100 : 200); 
	System.out.println(i);//200 
	int j = (3<=4 ? 500 : 600); 
	System.out.println(j);//500 
}

3.方法入门

我们在学习运算符的时候,都为每个运算符单独的创建一个新的类和main方法,我们会发现这样编写代码非常的繁琐,而且 重复的代码过多。能否避免这些重复的代码呢,就需要使用方法来实现。

  • 方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。 当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。

3.2 方法的定义
定义格式:

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

  • 定义格式解释:
    • 修饰符: 目前固定写法 public static 。

    • 返回值类型: 目前固定写法 void ,其他返回值类型在后面的课程讲解。

    • 方法名:为我们定义的方法起名,满足标识符的规范,用来调用方法。

    • 参数列表: 目前无参数, 带有参数的方法在后面的课程讲解。

    • return:方法结束。因为返回值类型是void,方法大括号内的return可以不写。

方法举例:

public static void methodName() { 
	System.out.println("这是一个方法"); 
}

3.3 方法的调用

方法在定义完毕后,方法不会自己运行,必须被调用才能执行,我们可以在主方法main中来调用我们自己定义好的方法。在
主方法中,直接写要调用的方法名字就可以调用了。

public static void main(String[] args) { 
	//调用定义的方法
	method method(); 
}
//定义方法,被main方法调用 
public static void method() { 
	System.out.println("自己定义的方法,需要被main调用运行"); 
}

3.4 注意事项
方法定义注意事项:

方法必须定义在一类中方法外
方法不能定义在另一个方法的里面

public class Demo { 
	public static void main(String[] args){
	}
 	//正确写法,类中,main方法外面可以定义方法 
	public static void method(){}
 }


 public class Demo { 
 	public static void main(String[] args){ 
 		//错误写法,一个方法不能定义在另一方法内部 
 		public static void method(){} 
 	} 
 }

声明:本人学习的是黑马程序员视频课程!!!讲的真得很详细

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章