Java基础-类型转换、运算符、键盘输入

类型转换、运算符

1.变量详解

1.1 变量底层执行原理

  1. 二进制:逢二进一
  2. 任何数据在计算机中存储都是二进制。
  3. 每个二进制位被称为bit(位)
    8bit = 1byte(字节)
    1024Byte = 1KB
    1024KB = 1MB
    1024MB = 1GB
    1024GB = 1TB
    一个英文字母占1byte(字节),一个中文占2个字节

1.2 基本数据类型

Java中各种数据类型占用的空间:
基本数据类型
4类8种
整数
byte : 1字节
short :2字节
int (默认):4字节
long :8字节
浮点
float :4字节(比long大)
double(默认): 8字节(最大)
字符
char :2字节
布尔
boolean:1字节

2.数据类型转换

2.1 自动转换

  1. ava"基本数据类型"中除boolean外的其它7种之间都可以进行相互转换
  2. 转换的方式,有两种:
    1. 自动转换:从小到大
    1).在表达式中,如果没有大于int类型的,会将短整型(byte,short,char)自动提升为int类型,然后再运算
    ​ byte a = 10;
    ​ byte b = 20;
    ​ byte c = a + b;//编译错误—结果必须是int类型
    ​ int c = a + b;//正确
    ​ byte c = (byte)(a + b);//正确
    ​ 2).在表达式中,如果有大于int类型,会将所有操作数全部提升为最高类型,结果也是这个最高类型
    ​ byte a = 10;
    ​ int b = 20;
    ​ double c = 30;
    ​ double result = a + b + c;//正确

2.2 强制转换

强制转换:从大到小
​ int a = 100;
​ byte b = a;//错误
​ byte b = (byte)a;//正确,强转,截掉高位,保留低位——高位截肢,有可能会丢失数据。

3.运算符

3.1 算数运算符

算术运算符
​	1).+:加
​		1).+符号左右两边如果都是数值类型,就做“加法运算”,如果有一边是“字符串”类型,就做“字符串拼接”,
​                     拼接的结果是一个新字符串。
​			System.out.println(5 + 5 + "Hello");//10Hello2). - :减
​	3). * :乘
​	4). / :除
​		1).如果/号左右两边都是整数,结果为整数;如果有一个是小数,结果是小数
​				System.out.println(10 / 3);//3System.out.println(10 / 3.0);//3.333333System.out.println((double)(10 / 3));//3.0System.out.println(10 / 0);//编译通过,但运行时异常5). % :取余
​		System.out.println(10 % 3);//1**对于四则混合运算,仍然是先乘除,后加减,建议加()**

3.2 自增自减运算符

自增自减运算符
++ :将变量的值**自增**1-- :将变量的值**自减**1int a = 10;
​a++;++a;System.out.println(a);//12**注意:**
​一个表达式中如果做多件事,前++/--或者后++/--将会影响最终的结果
​int a = 10;int b = a++;System.out.println(b);//10int a = 10;int b = ++a;System.out.println(b );//11

3.3 赋值运算符

赋值运算符
1).= :从右向左
​		int a = 3 + 2;System.out.println(a);//52).+=:
​	3). -=4). *=5). /=6). %=
​	以上几个运算符运算顺序都是从右向左的,另外都带“**隐式强转**”——可以直接对短整型运算
​		byte a = 10;//a = a + 5;//将a的值自增5,编译错误!
​		a += 5;//OK的,相当于:a = (byte)(a + 5);

3.4 比较运算符(关系运算符)

比较运算符
1). >
2). <
3). >=
4). <=
5). ==
6). !=
注意:
1. 他们可以对“数值类型(byteshort,intlong,float,double,char)”进行运算
2. ==!=可以判断boolean,可以用
3. ==!=可以判断String,但不要用!!!

3.5 逻辑运算符

逻辑运算符
1). &&:逻辑与,左右两边都为true,结果为true
2). ||:逻辑或,左右两边有一个为true,结果为true
3). ! :逻辑非,!true = false,!false = true
   
作用:对两个"布尔类型的结果"进行再次判断的。所以逻辑运算符的左右两边必须是"布尔类型的值",结果也是一个布尔值。

3.6 三元运算符

三元运算符
语法:条件表达式(必须产生一个布尔值) ?1 : 值2;
执行流程:先执行“条件表达式”,如果结果为true,则取“值1”,否则取“值2”。
int a = 10;
int b = 20;
int max = a > b ? b : a;
System.out.println("最大值:" + max);

4. 键盘输入工具类

使用Java类库中的类Scanner,使用三步骤:

​		1). 导包:import java.util.Scanner;(在package语句后,public class语句前)2).创建对象,在main()中:Scanner sc = new Scanner(System.in);3).main()中接收数据:

​			1).接收字符串:String name = sc.next();2).接收整数:int age = sc.nextInt();3).接收小数:double height = sc.nextDouble();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值