首页 > 编程语言 >Java引用类型

Java引用类型

时间:2022-12-05 14:07:38浏览次数:35  
标签:Java String int System println 引用 类型 20 out

Java当中的数据类型:

1.基本数据类型

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

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

字符串类型变量(String)

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”
}
}
复制代码

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

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之间加上一个“ ”使其变为字符串

变量的作用域

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

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

数值提升

int与long的混合运算

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

char short 与int 提升

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

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可能会有损失
复制代码
byte r=1+2;
System.out.println(r);
//这段代码是可以运行的,因为在编译的时候就已经将1+2变为3了
复制代码

那么为什么要进行数值提升?

就是为了提高效率

变量的作用域

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

变量的命名规则

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

2.数字不能开头

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

int maxValue = 100; String studentName = "张三

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

常量

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

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

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

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

类型转换

隐式类型转换:

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

显示类型转换:

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

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

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

String --->int

String str = "100";
int num = Integer.parseInt(str);//Integer是包装类
复制代码
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));//其实这样子会有警告,按照提示替换一下就行了
}
}

标签:Java,String,int,System,println,引用,类型,20,out
From: https://blog.51cto.com/u_15308610/5911985

相关文章

  • java中用整数相除获得小数并按位数输出
      俩个int类型的数据进行运算,结果也是int类型的,0.33333转为int类型为0.0;要求保留两位小数输出:System.out.printf("%.2f",b);//保留两位小数输出......
  • 【java】【File】用File相关类写一个小工具,完成从指定目录下抽取指定文件并复制到新路
    今日份代码:importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;importjava.io.*;importjava.nio.charset.StandardCharsets;importjava.......
  • Java中Future 用来做异步任务返回
    我们在开发中会有这种场景,我们要调用远程服务的一个方法,并且拿到返回值去使用。笔者最近项目中出现了一个ANR,具体是调用了远程服务,发生异常一直没有返回值,然后导致ANR。怎......
  • java复制对象到某一实体类
    ObjectMapperobjectMapper=newObjectMapper();Objectshot=JSONObject.parse(echelonSnapshot);StockEchelonProductAuthConfstockEchelonProductAuthConf=object......
  • (收藏)javascript变量提升
    函数和变量的声明总是会被解析器悄悄地被“提升”到方法体的最顶部上面是javascript变量提升的概念。为了更好地理解“变量提升”,我们先来看一段代码:(function(){cons......
  • 15篇关于java 8必读的教程
    ​​http://www.javacodegeeks.com/2014/04/15-must-read-java-8-tutorials.html​​......
  • python-容器类型
    容器类型1.通用操作1.1成员运算符(1)语法:数据in容器数据notin容器(2)作用:如果在指定的序列中找到值,返回bool类型。#以字符串str为例,列表l......
  • Java基础-String、StringBuffer、StringBuilder类
    String类String的特性:String类代表字符串。Java程序中的所有字符串字面值(如"abc")都作为此类的实例实现。String是一个final类,代表不可变的字符序列。......
  • java 7中再谈try catch
    java7中的trycatch除了之前谈到的新特性外,本文简单来例子小结下,其实还是有不少地方要注意的,首先看一个典型的代码:先来两个异常类:1.publicc......
  • java中对象存在形式
    本文主要讲述jvm中对象的存储形式:classCat{Stringname;intage;Stringcolor;//行为}依据Cat类创建对象publicclassObject01......