前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java引用类型

Java引用类型

作者头像
用户9996207
发布2023-01-13 14:33:35
5720
发布2023-01-13 14:33:35
举报
文章被收录于专栏:学习之旅111学习之旅111

Java当中的数据类型:

1.基本数据类型

2.引用数据类型: 类 String 数组 抽象类 接口 枚举 ......

数据类型的取值范围就是-2^(比特位数-1)---2 ^(比特位数-1)-1

字符串类型变量(String)

代码语言:javascript
复制
public class TestDemo{
public static void main(String[] args){
        String str1="\\wo lai le\\";
        String str2="\"wo lai le\"";//转义字符的使用
        System.out.println(str1);//打印的出来的就是\wo lai le\
        System.out.println(str2);//打印出来的就是“wo lai le”
    }
}

字符串类型中的+表示拼接

代码语言:javascript
复制
 public static void main(String[] args) {
        System.out.println("hello" + 10 + 20);//1
        System.out.println(10 + 20 + "hello");//2
        System.out.println("hello"+(10+20));//3
        System.out.println(10+""+20+"hello");//4
    }

结果:

hello1020 30hello hello30 1020hello

第一段代码:代码运行的时候是从左往右的,10和20就是字符串类型了

第2段代码:先算出30再打印字符串

第3段代码:先算括号里面的数字

第4段代码:在10和20之间加上一个“ ”使其变为字符串

变量的作用域

局部变量的作用域就截止到花括号

代码语言:javascript
复制
public static void main(String[] args) {
        int a=10;
        {
            a=89;
        }
        System.out.println(a);
    }

数值提升

int与long的混合运算

代码语言:javascript
复制
int a = 10;
long b = 20;
int c = a + b; // 编译出错, 右边提升为long类型,提示将 long 转成 int 会丢失精度
long d = a + b; // 编译通过

char short 与int 提升

当一个类型(char byte)小于4个字节的时候,就会自动提升为int,

代码语言:javascript
复制
byte a = 10;
byte b = 20;
byte c = a + b;//右边为int,不能赋值给byte
byte c = (byte)(a + b);//运行成功
System.out.println(c);
// 编译报错
Test.java:5: 错误: 不兼容的类型: 从int转换到byte可能会有损失
代码语言:javascript
复制
byte r=1+2;
System.out.println(r);
//这段代码是可以运行的,因为在编译的时候就已经将1+2变为3了

那么为什么要进行数值提升? 就是为了提高效率

变量的作用域

也就是该变量能生效的范围, 一般是变量定义所在的代码块 (大括号)

image-20220328220005204
image-20220328220005204

变量的命名规则

1.只能使用数字 字母 下划线

2.数字不能开头

3.使用小驼峰命名 (类名是大驼峰)

int maxValue = 100; String studentName = "张三

尽量不要使用$ 和 下划线(合法但是不合理)

常量

常亮就是在程序运行的时候无法修改的量

代码语言:javascript
复制
public class TestDemo{
public static void main(String[] args){
    final int MAXNUM=10;
        //MAXNUM=20;报错
        System.out.println(MAXNUM);
    }       
}

常量的关键字是final,常量不能被改变,常量命名的时候尽量写成大写

常量只能被初始化一次,且必须要初始化

类型转换

隐式类型转换:

把一个小类型自动转换为大类型

显示类型转换:

把一个大类型转换为一个小类型,需要强制类型转换

代码语言:javascript
复制
public class TestDemo{
public static void main(String[] args){
        //long a=10;
        //int b=(int)a;
        //System.out.println(b);
        int a=20;
        long b=a;//自动就提升成了long类型的(隐性类型转换)
        System.out.println(b);
    }       
}

其实就是因为long是8个字节,int是4个字节,将long放到int中,就会报错(Java是强类型语言),所以要进行类型强转,而将int放到 long里面就可以

注意:boolean类型是不能强转为int 的

int与String的相互转化

int --->String

代码语言:javascript
复制
int num = 10;
// 方法1
String str1 = num + "";//改成字符串类型(取巧)
// 方法2(更好)
String str2 = String.valueOf(num);//将int转换为String

String --->int

代码语言:javascript
复制
String str = "100";
int num = Integer.parseInt(str);//Integer是包装类
代码语言:javascript
复制
public class TestDemo{
public static void main(String[] args){
        //int 转化为String
        int a=20;
        String str1=String.valueOf(a);
        System.out.println(str1);
        //String转化为int
        String str2="20";
        System.out.println(Integer.valueOf(str2));//其实这样子会有警告,按照提示替换一下就行了										
    }       
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 字符串类型变量(String)
  • 变量的作用域
  • 数值提升
    • int与long的混合运算
      • char short 与int 提升
      • 变量的命名规则
      • 常量
      • 类型转换
        • 显示类型转换:
        • int与String的相互转化
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档