JavaSE零基础学习(基本数据类型包装类)

JavaSE零基础学习
class-> 表示的是关键字,单指类(java里面最重要的东西,java里面所有的东西都是类,注意,关键字大小写严重区分,只能是小写)
同时,每个代码只能有一个共有类,因为编译器在编译时,针对一个java源代码文件(编译单元)只会接受一个public类。同时,代码是从public类里面的main函数开始执行的,main函数负责调用java虚拟机里面的主线程,主线程在运行java程序的时候也只认可main函数。
附上一个最简单的代码:

public class Demo{
		public static void main(String[] args)
			{
			System.our.println("Hello World");
			System.out.print("Hello JAVA");    //这二者的区别在于一个有换行,一个没有换行,可以自己去试一下效果
			}	

public static void main() 函数的作用在于保持程序能运行
java命令会调用jvm(Java Virtual Machine,也就是java虚拟机,是java能够跨平台的保障),jvm会调用Windows底层内容,并运行你所指定的类,会去寻找public static void main()这个主函数;
八种基本数据类型所对应的包装类为:
byte----> Byte
short----> Short
int----> Integer
long----> Long
float----> Float
double---->Double
char---->Character
boolean---->Boolean
用于描述该对象的类就称为基本数据类型对象包装类

基本数据类型包装类的好处,能够刻意进行很多种运算:

例如

Integer.Max_VALUE 运行截图
2147483647返回的就是int类型的最大值,值为2的31次方-1;

在比如,Integer.toBinaryString(a)就是返回a的二进制表达方式。

函数输出方式

下面我们来看一下字符串里面的函数。

基本类型—>字符串:

1.基本数字类型+" ";
2.用String类中的静态方法valueOf(基本类型数值);

import java.util.*;
import java.lang.*;
public class Windoiws
{
	public static void main(String[] args)
	{
		System.out.println(11+" ");
		System.out.println(String.valueOf(123));
	}
}
字符串—>基本类型:使用包装类中的静态方法

xxx parseXxx(“xxx”); xxx即表示为你想转换的基本数据类型

import java.util.*;
import java.lang.*;
public class Windoiws
{
	public static void main(String[] args)
	{
		System.out.println(Integer.parseInt("11"));
	}
}

附:只有character没有parse方法
如果字符串被Integer进行对象的封装。
可使用另一种非静态的方法,intValue();
同时,基本数据类型包装类里面也有很多的方法,可以方便的将基本数据类型进行类型转化
如Integer里面的toString方法可以把十进制的数换成其它进制的数并进行输出。代码如下:

import java.util.*;
import java.lang.*;
public class Windoiws
{
	public static void main(String[] args)
	{
		Integer i=new Integer("123");
		System.out.println(i.intValue());    ///这里是转化成int类型的值进行输出,不过直接输出i的话也会输出这个结果,因为在构造函数里面已经自动的把123转换成了Integer类型,两者的区别在于,直接输出i是基本数据包装类型(Integer),使用intValue的话是基本类型(int)
		System.out.println(i.toString(60,2));  ///把60按照2进制的方式进行输出
		System.out.println(i.parseInt("20",8));
	}
}
运行结果:

运行结果
十进制转化为其它进制的几个方法:
toBinaryString(int a)
toOctalString(int a)
toHexString(int a)

相信很多人看到binary和octal等几个数都不会陌生,这几个单词其实就是其它几个进制的意思,第一个binary表示的是二进制,octal表示的是八进制,hex表示的是16进制,感兴趣的同学可以对这几个函数进行测试,这里仅放一组例子供理解:

import java.lang.*;
public class Windoiws
{
	public static void main(String[] args)
	{
		Integer i=new Integer("123");
		System.out.println(i.toBinaryString(20));       //二进制转化
		System.out.println(i.toOctalString(20));		//八进制转化
		System.out.println(i.toHexString(20));			//16进制转化
	}
}

输出结果:
输出结果

其他进制->十进制

parseInt(“a”,radix);
将a当做radix进制的数,转化为10进制输出

import java.lang.*;
public class Windoiws
{
	public static void main(String[] args)
	{
		Integer i=new Integer("123");
		System.out.println(i.parseInt("20",8));    //输出的结果为16,因为2*8=16
	}
}
Integer类里面的一些问题(面试可能会考)
public class Windoiws
{
	public static void main(String[] args)
	{
		Integer i=new Integer(4);
		Integer a2=4;
		Integer am1=127;
		Integer am3=127;
		Integer c=128;
		Integer d=128;
		System.out.println(a2==i);
		System.out.println(am1==am3);
		System.out.println(d==c);
	}
}

运行结果:
在这里插入图片描述
每个答案的讲解:
1.false :i是新创建了一个空间(新开辟的一个空间,这个空间的值是4),而a2是用一个常量空间,两者不相同
2.true:两者都是用的是新开辟的空间,这个空间的值是127(但是并不是说am1和am3的值都是127,而只是两者指向的空间的值是127,在新建了一个空间之后(也就是am1的空间),在第二次创建时会先去寻找有没有127这个值,如果没有的话就会创一个新的对象,要是有的话就指向原来的那个对象,所以am1和am3是指向同一个目标)
3.false:或许有人会觉得128为啥就返回是false了,其实仔细观察的人就会发现问题,128是2的八次方,也就是说表示128必须得用两个字节,而用到超过一个字节的空间,就不会在进行寻找,而会直接生成一个新的空间,所以c和d所指向的空间的位置就是不相同的,所以返回的自然就是false了。(即数值小于等于127时返回true,大于127时返回false,注意负数时是大于等于-128返回true,小于-128时才为false,因为内存中一个字节所能够存储的范围是-128~127)。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值