Java数据类型(下)

目录

一、布尔类型(boolean)

二、字符串类型(String)

字符串拼接

转义字符

变量的作用域

三、常量

四、类型转换

int 与 long

int 与 boolean

int 与 byte

int 与 String

五、运算符

 %

+=、-= 、*= 、/= 、%=

 && 、||

>>、<<、>>> 


一、布尔类型(boolean)

在Java中,真与假分别用 true false 表示

要注意,true 和 false 不是值,不能进行运算操作

布尔类型的大小是根据JVM来判断的,大小不一定

public static void main(String[] args) {
    boolean fla1 = true;
    System.out.println(fla1);
}

   

二、字符串类型(String)

首先要注意这个 'S' 是大写的哦。

不同于C中用字符数组存字符串,

Java中存在String这个类型来表示字符串。

public static void main(String[] args) {
    String str = "hello";
    System.out.println(str);
}

字符串拼接

普通的字符串拼接:

System.out.println("hello" + "world");

如果带上数字,这里需要分情况:

//其他数据类型和字符串使用拼接,结果就是一个字符串
System.out.println("hello" + 10 + 20);//hello1020
//但拼接有个顺序,在拼接之前能进行运算
System.out.println(10 + 20 + "hello");//30hello
System.out.println("hello" + (10 + 20));//先运算
System.out.println(10 + "" + 20 + "hello");//10和20之间隔着一个字符

转义字符

我想要打印下面这个怎么办?(就是带着引号打印)

我们需要用到转义字符 ' \ '

 public static void main(String[] args) {
        //转义字符
        String s1 = "\"bit\"";
        String s2 = "\\bit\\";
        System.out.println(s1);//打印"bit"
        System.out.println(s2);//打印\bit\
    }

变量的作用域

变量定义在哪个大括号内,就在哪个范围生效

public class TestDemo { 
    int val = 100; //这是一个成员变量
    public static void main4(String[] args) {
        {
            int a = 99;//这是一个局部变量
        }
        //System.out.println(a);//这样不行, a只在那个大括号范围内
    }
}

注意:在java中没有全局变量概念,只分为成员变量局部变量 

  

三、常量

常量分为字面值常量final常量

当我们写了一个数字,这个数字就是字面值常量。

final和C中的 const 类似,定义后便不可再修改。

final int A = 10;

   

四、类型转换

int 与 long

int a = 10;
long b = a;//4个字节可以给8个字节
System.out.println(b);

int数据可以放到long中,但反过来需要类型转换

类型转换还要注意 int 不一定能放得下。

long c = 111111111111L;
int d = (int)c;//可以强制类型转换,但int放不下
System.out.println(d);

如果我将int数据和long数据相加,那么结果是什么数据类型呢?

答案是long类型。

int i1 = 10;
long l1 = 20;
long q = i1 + l1;//两个类型相加,类型变为较大的那个

int 与 boolean

int a = 10; 
boolean b = true; 
b = a; // 编译出错, 提示不兼容的类型
a = b; // 编译出错, 提示不兼容的类型

boolean类型不是值,他们不能相互赋值。

int 与 byte

byte a = 1;
byte b = 2;
byte c = a + b;

上面这串代码会编译失败,因为 'a + b' 是一个int类型的值。

byte a = 1;
byte b = 2;
byte c = (byte)(a + b);//强制类型转换后才可以

但是如果我如以下这样的写法就可以: 

byte c1 = 1 + 2;

因为字面值常量相加时,,编译时已经将结果已经变为3了,3作为数据是可以放入byte中的。

int 与 String

他们之间相互转换都有相应的函数,如下:

 public static void main(String[] args) {
        //int与String转换
        //整数变字符串
        int num = 10;
        String ret = String.valueOf(num);
        System.out.println(ret);
        //字符串变整数
        String str = "123";
        int ret1 = Integer.valueOf(str);
        System.out.println(ret1);
    }

   

五、运算符

了解了数据类型,总归要进行运算的,让我们来研究一下其中重点:

 %

你会运算下面的表达式吗?

public static void main8(String[] args) {
        //运算符
        System.out.println(-10 % 3);
        System.out.println(10 % -3);
        System.out.println(-10 % -3);
    }

 结果如上

+=、-= 、*= 、/= 、%=

用法如同C,这里讲下注意点:

short a = 10;
a = a + 9;

这串代码是不能编译通过的,'a + 9' 是一个int类型,需要强转

但是如果我用 '+=' 就不用:

short a = 10;
a = (short)(a + 9);//这里不转 会报错
a += 9;//这样会自动强制类型转换

 && 、||

public static void main(String[] args) {
        System.out.println(10 > 20 && 10 / 0 == 0);//有假就假
        System.out.println(10 < 20 || 10 / 0 == 0);//有真就真
    }

后面的10 / 0是一个错误,会编译报错,这里来看看是否会运行到此表达式

第一行中开头为假,由于是&&,所以此表达式为假,不运算后面的值

第二行中开头为真,|| 规则是 只要有真,这个表达式就为真,所以不运算后面的值

所以这两个表达式都可编译

>>、<<、>>> 

这里的规则和C一样,多了一个 '>>>' 无符号右移,即符号位补0

public static void main(String[] args) {
        //>>>符号,无符号右移
        //因为普通右移要补符号位,>>>总是补0
        System.out.println(-1 >> 1);
        System.out.println(-1 >>> 1);
    }

 感谢你能看到这,如有帮助,欢迎点个赞👍。

  • 12
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
Java是一种面向对象的程序设计语言,有许多内置的数据类型供开发者使用。这些数据类型可以帮助我们在程序中定义不同类型的变量,并对这些变量进行操作和处理。 Java数据类型分为两大类:基本数据类型和引用数据类型。基本数据类型包括整型、浮点型、字符型和布尔型,用于存储简单的数据值。引用数据类型则是指对象类型,用于存储复杂的数据结构。 在进行Java数据类型实验时,可以通过创建不同类型的变量来演示它们的特性和用法。例如,可以创建一个整型变量来存储一个整数值,使用运算符对其进行加减乘除等运算,并将结果输出到控制台上。 另外,也可以尝试使用浮点型数据类型来储存实数值,对其进行各种算术运算,以及比较大小、取整等操作。字符型数据类型可以用来存储单个字符,例如创建一个字符变量来表示一个字母,使用各种字符相关的方法对其进行处理。 布尔型数据类型则用于存储逻辑值,即真或假。可以通过创建一个布尔变量,并使用逻辑运算符对其进行逻辑判断,以及进行条件语句的控制。 此外,还可以进行引用数据类型的实验,例如创建一个字符串对象,使用字符串类的各种方法对其进行处理。还可以创建一个自定义的类,例如创建一个学生类,定义各种属性和方法,实验对象的创建、属性的访问和方法的调用。 总之,Java数据类型实验可以帮助我们深入了解不同类型的数据在程序中的存储和处理方式,从而更好地应用和扩展Java语言的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

丶chuchu丶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值