Java基础学习(一):包,主类,数据类型及转换
一、Java包
1、定义:Java中,类文件不止一个会被使用,所以,Java代码以包管理。
2、关键字:package
3、简单示例:
package firstpack;
4、命名规则:一般为保存路径。
5、一般通过import来调用。
二、类的成员变量和局部变量
先明确概念:类 = 属性 + 方法
,将类实例化,就是对象。
1、定义:①类的成员变量:类的属性。 ②方法的局部变量:方法中声明的变量,属性等。
2、作用域:①类的成员变量:类中任何地方都可以用。②方法的局部变量:只有当前方法可以访问。
3、访问修饰词:
公开访问权限 | 私有访问权限 | 继承访问权限 |
---|---|---|
public | private | protected |
public标识该类或者成员变量、成员函数对其他所有类文件都是公开的,其它类文件都可以直接调用 | private标识该成员变量、成员函数只可以在自己的类文件内使用 | 继承是一个派生类的概念,父类中的protected成员允许被子类访问(后面会做介绍) |
4、简单示例:
package firstpack;//这是一个包
public class great {
public static String a = "a1是一个全局变量";
//可以被其他类文件调用
private static String b = "b1是一个全局变量";
//只可以在此类文件中调用
public static void way1() {
String a2 = "我是方法里的属性";//方法里的局部变量
System.out.println("这是一个方法," + a2);
}//这是一个方法.
public static void main(String[] args) {//void就是空,在方法申明的时候表示该方法没有返回值
String a3 = "我 a3 是主方法里的变量!";
System.out.println("这是一个主方法," + a3);
way1();//调用方法
}//这是一个主方法
}
——————————————————————————————————————
输出:这是一个主方法,我 a3 是主方法里的变量!
这是一个方法我是方法里的属性
三、基本数据类型
1、整数类型:byte/short/int/long + 变量名 ;
性质 | 最大值 | 最小值 | 默认值 | 所占内存 |
---|---|---|---|---|
byte | 127(2^7-1) | -128(-2^7) | 0 | 占内存8位,有符号,并以二进制补码表示整数,占1字节内存(只有int的四分之一) |
short | 32767(2^15-1) | -32768(-2^15) | 0 | 占内存16位,有符号,并以二进制补码表示整数,占2字节内存(只有int的二分之一) |
int | 2147483647(2^31-1) | -2147483647(-2^31) | 0 | 占内存32位,有符号,并以二进制补码表示整数,占4字节内存 |
long | 2^63-1 | -2^63 | 0L | 占内存64位,有符号,并以二进制补码表示整数,占8字节内存.、,long类型需要在数字结尾加上L(一般为大写) |
2、浮点类型:float/double + 变量名 ;
,可用e来表示科学技术法,如32.24e-6
性质 | 表示 | 默认值 | 所占内存 |
---|---|---|---|
float | float小数后必须加D或f,不加默认double类型 | 0.0F | 占内存32位,4字节 |
double | 可加D或d,也可不加 | 0.0D | 占内存64位,8字节 |
3、字符类型:char + 变量名 ;
- char用来存储任何单一的16位Unicode字符,char类型可以存储任何字符。但数量只能为一个。
- 使用
‘’
表示一个字符。 - 最小值是
\u0000(即为0)
- 最大值为
\uffff(即为65535)
转义符 | 说明 |
---|---|
\n | 换行符号 |
\r | 回车 |
\t | 制表符 |
\f | 换页 |
’ | 单引号 |
" | 双引号 |
\ | 反斜线 |
\ddd | 符合该正则表达式序列的是一个以八进制方式来表达的字符 |
\uxxxx | 符合该正则表达式序列的是一个以十六进制方式来表达的Unicode字符 |
4、布尔类型:boolean + is变量名 ;
一般变量不是false就是true,这里的is是好辨别,使语义更清晰。
5、应用对象类型:(后面介绍)
6、特殊值:null
意为“等于零的”,“无价值的”,他表示一个变量没有任何值。null既不是对象,也不是一种基本数据类型,它是一种特殊值,基本类型不准赋值,但包装类型可以。
7、包装类:
Byte | Short | Integer | Long |
---|---|---|---|
Byte a = | Short a = | Integer a = | Long a = |
public class first {
public static void main(String[] args) {
int a = 100;
Integer A = 100;//包装类定义
System.out.println(a +"变形后"+ A.floatValue());
//包装类引用属性有很多,方法是通过 . 来引用这些方法
}
}
四、数据类型之间的转化
1、自动转换:数据运算必须为同一种数据类型,Java默认降低精度转化成高精度。
2、强制转化: 变量 =(强制转化类型)高精度变量值
- 有缺点,容易导致精度丢失,或者可能直接截断。
3、进制转化:
public class first {
public static void main(String[] args) {
int x = 100;
System.out.println(Integer.toHexString(x));///10进制转换成16进制的字符串
System.out.println(Integer.toOctalString(x));///10进制转换成8进制的字符串
System.out.println(Integer.toBinaryString(x));///10进制转换成2进制的字符串
System.out.println(Integer.toString(123456,7));///10进制转换成7(7可以更换)进制的字符串
}
}
详情请参考:链接
“不积硅步,无以至千里”