java的基础知识1

本文介绍了Java中的数据类型,包括基本类型和引用类型,并提供了示例代码展示其用法。此外,还讲解了进制表示,如二进制、八进制和十六进制,并探讨了强制类型转换可能遇到的问题。最后,阐述了变量的作用域,包括类变量、实例变量和局部变量,以及变量命名规范。通过对这些基础知识的理解,有助于深入学习Java编程。
摘要由CSDN通过智能技术生成

数据类型

所有的变量都必须先定义才能使用

package demo;

public class ds {

	public static void main(String[] args) {
		//int a;//没有定义,不能输出
		int a=10;
		System.out.println(a);
	}
}

两大类型

  1. 基本类型

    (1)数值类型:byte(1字节)、short(2字节)、int(4字节)、long(8字节)

    (2)浮点类型:float(4字节)、double(8字节)

    (3)布尔类型:boolean (true或false)

    (4)字符类型:char(2字节)

  2. 引用类型

    (1)类

    (2)接口

    (3)数组

    . 代码例子

package demo;
public class eightType {
	public static void main(String[] args) {/*main方法*/
		/*八大基本数据类型*/
	Byte i=10;
	int i2=10;
	short i3=20;
	long i4=200L;/*long类型要在数字后面加上L*/
	
	char j='a';
	char j2='中';/*字符只能是一个字符,如果写成    中间   是错误,这是两个字符*/
	//String j3="中国";/*注意:String不是关键字*/
	
	float k=3.4F;/*long类型要在数字后面加上F*/
	double k2=3.25;
	
	//布尔类型
	boolean flag=true;
	boolean flag2=false;
	System.out.println(i+"\t"+i2+"\t"+i3+"\t"+i4+"\t"+k+"\t"+k2);
	System.out.println(j+"\t"+j2);
	System.out.println(flag+"\t"+flag);	
}
}

进制的扩展

二进制:0 b开头

十进制

八进制:0开头

十六进制:0 x开头

package demo;

public class jinzhi {
/*最好完全使用浮点数进行比较*/
	public static void main(String[] args) {
		/*进制:二进制,十进制,八进制,十六进制*/
		int i=0b10;
		int i2=10;
		int i3=010;
		int i4=0x10;
		System.out.println(i+"\t"+i2+"\t"+i3+"\t"+i4);//2  10  8  16
		
		//float.double拓展
		float j=0.1f;
		double j2=0.1;
		System.out.println(j==j2);//false,

		float k=123455665758787935f;
		float k2=k+1;
		System.out.println(k==k2);//true  ,因为float  是有线 ,离散 ,摄入误差 ,大约 ,接近但不等于 
	}

}

强制类型转换

等级:低————————————————>高

byte 、short 、int 、long 、float 、double

类型

(1)强制类型转换:(类型)变量名 (高—>低)

(2)自动类型转换:类型)变量名 (低—>高)

例子如下

package demo;
/*不能对布尔值进行转换
不能把对象类型转为不相干的类型
高等级变低等级时候,强制转换
转化的时候可能存在内存溢出或者精度问题*/
public class strongType {
	public static void main(String[] args) {
		float a=1.2f;
		int j=5;
		//强制转换
		j=(int)a;//因为a是float类型,等级比int j高,所以在转换的时候要进行强制转换
		System.out.println(j);//  1
		
		byte b=3;
		//自动类型转换
		j=b;
		System.out.println(j);//  3
		
		//强制转换,在进行强制转换的时候是通过    编码 Unicode表 进行查找的
		char z='a';
		char x='中';
		System.out.println(z);//a
		System.out.println((int)z);//97
		System.out.println((int)x);//20013
		
		int i=128;
		byte c=(byte)i;
		System.out.println(c);//-128,因为byte的范围-128~127,内存溢出
		
		System.out.println((int)-45.897f);//-45
	}

}

例子二

package demo;

public class ST {
//操作较大的数的时候,注意溢出问题
	public static void main(String[] args) {
		int money=1000000000;
		//int money=10_0000_0000;//一样的,JDK7新特性,数字之间可以用下划线分割
		int year=20;
		int total=money*year;
		System.out.println(total);//-1474836480,计算的时候溢出了
		
		long total2=money*year;
		System.out.println(total);//-1474836480,默认就是int,也就是在转换成long之前就已经出现问题了
		
		long total3=money*((long)year);
		System.out.println(total3);//20000000000,在计算之前就已经进行了转换
	}
}

变量的作用域

(1)类变量

(2)实例变量

(3)局部变量

package demo;

public class classYu {
	//类变量static
	static int a=1;//类变量
	static double salary=6000;
	
	//属性
	//实例变量(成员变量):从属对象;如果不进行初始化,默认值为零
	//布尔值:默认是false
	//除了基本类型,其他的默认值都是null
	String frill;//成员变量
	int ds;
	double dd;
	String b="hello Word";//实例变量
	
	public static void main(String[] args) {//main方法
		int c=10;//局部变量:必须声明和初始化
		System.out.println(c);//10
		
		//变量类型     变量名称=new classYu();
		classYu classyu=new classYu();
		System.out.println(classyu.frill);//null
		System.out.println(classyu.ds);//0
		System.out.println(classyu.dd);//0.0
		
		//类变量 static
		System.out.println(salary);//6000.0
	}
	//方法
	public void add() {}
}

常量

常量:初始化后不能再改变值!不会变动值

final 常量名=值;

final double PI=3.14;//常量名一般使用大写字符

package demo;

public class changliang {
	//修饰符,不存在先后顺序
	static final double PI=3.14;
	final static double PI1=3.14;
	public static void main(String[] args) {
		final int PI2=10;
		System.out.println(PI);//3.14
		System.out.println(PI1);//3.14
		System.out.println(PI2);//10
	}
}

变量名规范

类成员变量:首字母小写和驼峰原则 如: userName

局部变量:首字母小写和驼峰原则

常量:大写字母和下划线 如: MAX_VALUE

类名:首字母大写和驼峰原则 如:Man GoodMan

方法名:首字母小写和驼峰原则 如:run() 、runRun()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值