Java基础数据类型

本文详细解析了Java中整数的三种表示方式(八进制、十进制、十六进制),以及如何正确使用单精度浮点类型、双精度浮点类型,并深入探讨了位运算符的原理和应用。同时,介绍了如何处理文本框中的百分比转换为数值进行比较的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Java中通过3种方式来表示整数,八进制、十进制、十六进制。当一个数值以“0”开头,则表示该数值是八进制;当一个数值以“0x”或“0X”开头,则表示该数值为十六进制。

public class main {
public static void main(String[]args){
int a1=12;
int a2=012;
int a3=0x12;
int a4=0xcafe;
System.out.println(a1);
System.out.println(a2);
System.out.println(a3);
System.out.println(a4);
}
}

输出结果为:10,12,18,51966。
2、在java中,使用单精度浮点类型时,必须在数值后面加上F或f;使用双精度浮点类型时,可以在数值后面加上D或d,但不是必须的。

public class main {
public static void main(String[] args) {
float a1 = 1.23f;
double a2 = 1.23;
double a3 = 1.23d;
System.out.println(a1);
System.out.println(a2);
System.out.println(a3);
}
}
输出结果为:1.23,1.23,1.23。 
3、数据进行运算的时候,如果是前缀方式,先进行自增或自减运算,再进行表达式运算;如果是后缀方式,先进行表达式运算,再进行自增或自减运算。
public class main {
public static void main(String[] args) {
int a1 = 5;
int a2 = 5;
int a3 = 2*++a1;
int a4 =2*a2++;
System.out.println(a1);
System.out.println(a2);
System.out.println(a3);
System.out.println(a4);
}
}

输出结果为:6,6,12,10。 a1先执行自增,即a1等于6,再乘以2,得到a3等于12。a4等于2乘以a2等于10,然后a2再执行自增,即a2等于6。
4、位符运算,与(&)如果对应位都为1,则结果为1,否则为0;或(|)如果对应位都为0,则结果为0,否则为1;异或(^)如果对应位相同,则结果为0,否则为1;非(~)将操作数的每一位按位取反。

public class main {
public static void main(String[] args) {
int a1 = 6;               //二进制后四位为0110
int a2 = 3;               //二进制后四位为0011
int a3 = a1&a2;
System.out.println(a3);
}
}

输出结果为:2。将6跟3的二进制对应位进行运算符操作,得到二进制数0010,则为2。
5、左移运算符:将第一个操作数向左移动第二个操作数指定的位数,空缺的补0;
右移运算符:将第一个操作数向右移动第二个操作数指定的位数,在二进制中,首位用来表示正负,0为正,1为负,如果第一个操作数是正数,则填充为0,如果为负数则填充为1。

public class main {
public static void main(String[] args) {
int a1 = 6<<1;               //二进制后四位为0110
int a2 = 7>>1;               //二进制后四位为0111
System.out.println(a1);
System.out.println(a2);
}
}

输出结果为:12,3。a1等于1100,即12;a2等于 0011,即3。
6、如果一个文本框里面的数值是88%,你想得到88并用它来进行比较,该怎么做?
首先得到文本框里面的值:

String str1 = main_detail_tv1.getText().toString();

然后将“%”移除:

String str11 = str1.replace("%", ""); 

最后将String类型转换为int类型:

int int1 = Integer.parseInt(str11);

之后再进行比较久可以了,根据输入数值的不同,赋予不同的图片

if (int1 >= 0 && int1 <= 30) {
main_detail_iv1.setImageDrawable(getResources().getDrawable(
R.drawable.main_analyse_bad1));
}
if (int1 > 30 && int1 <= 60) {
main_detail_iv1.setImageDrawable(getResources().getDrawable(
R.drawable.main_analyse_normal1));
}
if (int1 > 60) {
main_detail_iv1.setImageDrawable(getResources().getDrawable(
R.drawable.main_analyse_good1));
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值