java编程----变量、数据类型2

double

浮点数,即小数
float,单精度—不常用
double,双精度—常用
具有舍入误差

double a = 3.15;//浮点数直接量---double
float a1 = 3.15f; //F、 f -->float
float b1 = 1.4;//编译错误
double b = 8; //可以是直接整数
double c = a + b;
System.out.println("c="+c);


double d = 3.12e2;//科学计数法

舍入误差:二进制无法精确表示1/10
double/float均有舍入误差

double a = 3.0;
double b = 2.9;
System.out.println(a-b);//是否0.1?

精确的运算,可以用BigDecimal,如财务场景

boolean

布尔类型,true/false

boolean a = false;//python 中False

char

  1. 字符类型,字符是表现形式—对应的编码(int)
  2. 默认Unicode编码方式,0-65535,16位的无符号整数
  3. 必须存入一个字符,且单引号
  4. 必须有且一个字符
  5. 赋值数值必须在0-65535之间

ASCII编码:
‘A’–65
‘a’–97
‘0’–48

char a = 'n'//只能存入一个字符----实际内存中为Unicode编码
char b = 5;//存入整数对应的Unicode编码 0-65535
char c = "\u0041";//Unicode编码形式
System.out.println('2'+'2');//输出100

在这里插入图片描述

基本类型的转换

数据类型,小—>大
byte,short,int,long,float,double
char–>(int)

小----->大,自动类型转换
大----->小,强制类型转换,可能溢出或精度丢失

  1. 整数直接量可以直接赋给 byte/short/char,不能超范围
  2. byte/short/char参与运算,先转为int
long a = 100l;
int b = (int)a;
double c = 5;//自动类型转换


double e = 3.14;
int f = (int)e;//损失精度 

double a1 = 80/100;//0.0
double a2 = 80.0/100;//0.8

//byte/short/char
byte b1 = 5;//不能超分为
byte b2 = 6;
byte b3 = b1 + b2;//运算转整形 5 + 6 在赋值 int--->byte大到小需强制转换
byte b4 = (byte)(b1+b2);

Scanner

接收用户输入的值

//在包下
import java.util.Scanner; //类
//main中
Scanner scan = new Scanner(System.in);
System.out.println("请输入年龄:");
int a = scan.nextInt();//赋值,等待用户输入  同python---input
System.out.println("请输入价格:");
double b = scan.nextDouble();

//scan.nextLong();nextShort;nextByte();nextBoolean();
//scan.next();字符串

 
 
 
 
上一篇:java编程----变量、数据类型    下一篇:java编程----运算符、表达式、分支

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laufing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值