Java基础语法
数据类型
8大基本数据类型
整数类型
- byte 1字节
- short 2字节
- int 4字节(整数默认数据类型)
- long 8字节 (赋值的字面量结尾要加l或L)
浮点数类型
- float 4字节(赋值的字面量结尾要加f或F)
- double 8字节(浮点数默认字节)
字符数据类型
- char 2字节
布尔型
- boolean 1字节
//目标:掌握整数型和浮点型变量的定义与使用
public class Demo01 {
public static void main(String[] args) {
/**
* 赋值:
* 给long类型变量赋值时,字面量加L或l,推荐L
* 给float类型变量赋值时,字面量加F或f
* 给Double类型变量赋值时,字面量加D或d
*
* 默认类型:
* 整数默认int类型
* 小数默认double类型
*/
byte i = (byte)128;
System.out.println(i);
int a = (int) 3.74;
System.out.println(a);
long b = 12121;
float c = 1.2f;
double d = 1.33;
byte o = 2+3;
System.out.println(o);
System.out.println(num1.add(num2));
}
}
类型转换
自动类型转换
数据类型小的数值或变量可以直接赋值给数据类型大的变量
byte a = 2;
int b = a;
在运算过程中,同时有取值范围小的数据类型和取值范围大的数据类型,会先将小的数据类型转换为大的相同类型,然后在计算
byte a = 3;
int b = 5;
int c = a + b; // a会先转换为int型再与b相加最终得到的结果也是int
特殊:byte char short三种类型参与运算的时候,会先提升数据类型为int,然后做运算
byte a = 1;
byte b = 2;
int c = a + b; //a和b在相加之前会先提升为int然后相加
强制类型转换
数据类型大的数值或变量不能直接赋值给数据类型小的变量,但是可以进行强制类型转换来实现,但是可能会损失一定的精度
格式:
目标数据类型 变量 = (目标数据类型)被强转的数据;
byte a = (byte)128 // 最后的结果是-128,由于byte类型的数据范围是-128~127,所以128存为byte类型会有精度损失
键盘录入
使用Scanner类来实现键盘录入,可以让程序中的数据变得更加灵活,在不改变程序的前提下,可以让程序中的数据每次不一样
使用方法:
1.导入Scanner类所在的包
import java.util.Scanner
2.创建Scanner对象
Scanner sc = new Scanner(System.in);
3.使用Scanner类键盘录入数据的的方法
int num = sc.nextInt(); //键盘录入一个整数
String s = sc.next();// 键盘录入一个字符串
运算符
算数运算符
+ //加法
_ //减法
* //乘法
/ //除法,只能得到整数部分的结果
% //取余
public class Demo01 {
public static void main(String[] args) {
/**
* 作用:对数据进行加(+)、减(-)、乘(*)、除(/)和取余数(%)运算
*
* 注意:两个整数相除结果只能是整数,要想得到小数,必须得有小数参与
*/
int a = 1;
int b = 2;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/b);
System.out.println(a%b);
System.out.println(5.0/2);
System.out.println(5.0/2.0);
System.out.println(5/2.0);
}
}
//需求:键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台
public class Demo02 {
public static void main(String[] args) {
/**
* 公式总结:
* 个位 :数值 % 10
* 十位 :数值 / 10 % 10
* 百位 :数值 / 10 / 10 % 10
* 千位 :数值 / 10 / 10 / 10 % 10;
* ...
*/
Scanner sc = new Scanner(System.in);
System.out.println("请输入三位数的整数");
int num = sc.nextInt();
int ge = num % 10;
int shi = num / 10 % 10;
int bai = num / 10 / 10 % 10;
System.out.println("个位:" + ge);
System.out.println("十位:" + shi);
System.out.println("百位:" + bai);
}
}
自增自减运算符
简化变量的+1操作,从原来的a = a+1 ==> a++
分为参与运算和不参与运算的情况
//不参与运算 符号在前在后没有区别
int count = 2;
count++;
System.out.println(count); //结果为3
//参与运算,符号在前先自加再运算,符号在后,先运算再自加
int a = 3;
int b = a++;
System.out.println(b);//b的结果为3,因为a是先参与计算再自加
int m = 3;
int n = ++m;
System.out.println(n);// 结果为4,m是先自加变成4再赋值给n
赋值运算符
"=" 将数据值存入到一个变量中
基本赋值运算
= //把符号右边的值交给符号左边
扩展的赋值运算
+= // a+=b 相当于 a = a + b;
-= // a-=b 相当于 a = a - b;
*= // a*=b 相当于 a = a * b;
/= // a/=b 相当于 a = a / b;
%= // a%=b 相当于 a = a % b;
注意:
扩展的赋值运算默认自带强制类型转换
a+=2 相当于 a = (a的类型)+2;
关系运算符
也叫比较运算符,用来比较符号两边的数据大小关系是否成立
> < == >= <=
特点:他们的结果都是布尔类型,true代表成立 false代表不成立
逻辑运算符
按位逻辑运算符:
& //逻辑与:遇false则false
| //逻辑或:遇true则true
! //非:非真即假,非假即真
^ //相同为false,相反为true
短路逻辑运算符:
&& //短路与:规则和&一样,具有短路效果
|| //短路或:规则和|一样,具有短路效果
短路:当符号左边的结果可以决定整体的结果时,符号右边的内容不参与运算
三元运算符
可以根据某一条件是否满足来从两个结果中进行二选一,可以用来比较两个数,得到较大值或较小值
//需求:键盘录入三个整数,找出最大值并打印在控制台
public class Demo09 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入三个整数");
int num1 = sc.nextInt();
int num2 = sc.nextInt();
int num3 = sc.nextInt();
int temp = num1 > num2 ? num1 : num2;
int max = temp > num3 ? temp : num3;
System.out.println("最大值为:" + max);
}
}
标签:语法,Java,10,int,数据类型,System,运算符,println,out
From: https://www.cnblogs.com/ly1372/p/16837636.html