栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA学习Day1

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA学习Day1

1、自动类型转换

什么是自动类型转换?为什么要学习自动类型转换?
类型范围小的变量,可以直接赋值类型范围大的变量。
转换的规则:

各个符号所占字符数。

2、表达式的自动类型转换

在表达式中,小范围的变量会自动变成较大范围的类型再运算

byte、char、short->int ->long ->float ->double
注意事项:
1、表达式的最终结果类型由表达式中的最高类型决定。
2、在表达式中,byte、short、char是直接转成Int类型参与运算的

栗子1:
栗子2:

3、强制类型转换

1、定义:
可以强行将类型范围大的变量、数据赋值给类型范围小的变量
数据类型 变量 = (数据类型)变量、数据

2、强制类型转换有哪些需要注意的?
可能出现数据丢失。如栗子1
小数强制转换成整数是直接截断小数保留整数。

栗子1:

造成数据的截断,具体底层原理是byte数据的位数是8位,范围是-2^7~
2^7-1, 1500超过了这个范围,所以会造成数据丢失。

4、数据类型

1、加减乘除取余
2、“+”做连接符 //能算则算不能算就拼接在一起
3、++ – 运算符
4、逻辑运算符

&逻辑与 说明:必须都是true,结果才是true,只要有一个false,结果为false
逻辑或 说明:只要有一个为true,结果为true
!逻辑非 说明:颠倒
^逻辑异或 说明:相同为0,相异为1
&&短路与 说明:判断结果与“&”一样,过程是左边为false右边不执行
双竖线短路或 说明:过程是左边为true,右边不执行

5、三元运算符 表达式?表达式1:表达式2
6、运算符优先级
7、键盘输入(导包操作)(后面有栗子)

就2问题举个栗子

public class txt {
	public static void main(String[] args) {
	   //目标:+符号做连接符的识别
		
		int a=5;
		System.out.println("abc"+5);
		System.out.println("abc"+a);
		System.out.println(5+a);
		System.out.println("abc"+5+'a');
		
		System.out.println(a+'a');//5+97=102
		System.out.println(a+""+'a');//'5'+'a'=5a
		System.out.println(a+'a'+"itheima");//102itheima
		System.out.println("itheima"+a+'a');//itheima5a
		System.out.println("itheima"+(a+'a'));//itheima102
		
		

	}
}

本着能算就算的原则。 单独的字符和int 类型可以运算,但是字符串就不能和整数运算,所以就必须拼接

就问题三举两个栗子
第一个:

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


注意,在表达式中,后++运算符是先赋值后自增的。它是先把a赋值给b,然后再完成自增1。

第二个:
Question

public class txt {
	public static void main(String[] args) {

		
		int k = 3;
		int p = 5;
		//k 4 5 4
		//p 4 3 4
		//rs 3 +5 -4 + 4 -5 + 4 + 2=9
		//记住口诀,++在前 那么先自增1然后再赋值给左边,++在后,那么直接先赋值,然后自增1
		int rs = k++ + ++k - --p + p-- -k-- + ++p +2;
		System.out.println(k);
		System.out.println(p);
		System.out.println(rs);
	}
}


与分析一样。奈斯

就问题5举个2栗子
第一个

public class txt {
	public static void main(String[] args) {

		
		double score = 98;
		String rs = score>=60?"考试通过":"考试不及格";
		//注意前后类型要一致。
		System.out.println(rs);
}
}

注意前后类型要一致,而且String类型的首字母是大写的S

第二个:
三元运算符的嵌套

public class txt {
	public static void main(String[] args) {

		
		int i =5,j = 7,k= 1;
		int max  = i>j?i>k?i:k:j>k?j:k;
		
		System.out.println(max);
}
}

哈哈,是不是有点懵逼
其实这样更好理解

public class txt {
	public static void main(String[] args) {

		
		int i =5,j = 7,k= 1;
		int max  = i>j?(i>k?i:k):(j>k?j:k);
		
		System.out.println(max);
}
}

具体理解:先拿 i 跟 j 去作比较,如果 i 比较大,那么就执行(i>k?i:k),如果 i 比 k大 那么就返回 i的值,否则返回k的值。
如果 j 比较大,一样的去和k去作比较。懂了吧11!!

第7个问题直接上栗子

import java.util.Scanner;
//1、导包操作
public class txt {
	public static void main(String[] args) {

		//2、得到一个键盘扫描对象
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入您的年龄");
		//3、调用sc对象的功能等待api接收用户输入的数据
		//这个代码会等待用户输入数据,直到用户输入完数据并按下了回车
		int age =  sc.nextInt();
		System.out.println("您的年龄是"+age);
		
}
}


看注释就能明白的事,记住3个操作就可以啦。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/572555.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号