一、Java主类结构
Java语言是面向对象的程序设计语言,java程序的基本组成单元是类,类体中又包括属性与方法两部分。每一个应用程序都必须包含一个main() 方法,含有main() 方法的类称为主类。
eg 1 :在 Eclpise 下依次创建项目 JavaDemo 、包 com.javaBase 和类 Frist 。在类体中输入以下代码,实现在控制台上输出“ 你好 Java ”。
package com.javaBase; // 包
public class Frist { // 类
static String s1 = "你好";
public static void main(String[] args) {
String s2 = "Java";
System.out.println(s1);
System.out.println(s2);
}
}
运行结果为 :
你好
Java
ps1 :代码中的所有标点符号都是英文字符,不要在中文输入法状态下输入标点符号,如双引号和分号,否则会导致编译错误。
ps2 :文件名必须和类名 Frist 同名,即 Frist.java 。还要注意大小写,Java 是区分大小写的。
1.1 包声明
一个 Java 应用程序是由若干类组成的。在 eg 1 中就是一个类名为 Frist 的类,语句 package com.javaBase;为声明该类所在的包,package 为包的关键字。
1.2 声明成员变量和局部变量
通常将类的属性称之为类的全局变量(成员变量),将方法中的属性称之为局部变量。全局变量声明在类体中,局部变量声明在方法体中。全局变量和局部变量都有各自的应用范围。在 eg 1 中 s1 是成员变量, s2 是局部变量。
1.3 编写主方法
main() 方法是类体中的主方法。该方法从“{” 号开始,至“}”号结束。public、static 和 void 分别是main() 方法的权限修饰符、静态修饰符和返回值修饰符,Java 程序中的 main() 方法必须声明为 public static void。String[] args 是一个字符串类型的数组,它是 main() 方法的参数。main() 方法是程序开始执行的位置。
1.4 导入 API 类库
在 Java 语言中通过 import 关键字导入相关的类。在 JDK 的 API(应用程序接口) 中提供了很多包可供使用。查看 API 文档可以让你更好的使用。
二、基本数据类型
在 Java 中有 8 种基本数据类型来存储数值、字符和布尔值。数值型 { 整数类型 ( byte、short、int、long),浮点类型 ( float、double),字符型,布尔型 }
2.1 整数类型
整数类型用来存储整数数值,即没有小数部分的数值。正数,负数都可以。整形数据在Java程序中有 3 种表示形式,十进制、八进制和十六进制。
十进制:大家多很熟悉,如:120,0,-75 等等。
ps1 :不能以 0 作为十进制数的开头( 0 除外 )。
八进制:如 0123 ( 转换成十进制数为 83),-0123 ( 转换成十进制数为 -83)。
ps2 : 八进制必须以 0 开头。
十六进制:如 0x25 ( 转换成十进制数为 37),0Xb01e ( 转换成十进制数为 45086)。
ps3 : 十六进制必须以 0X 或 0x 开头。
数据类型 | 内存空间( 8 位等于 1 个字节) | 取值范围 |
byte | 8 位 | -128 ~ 127 |
short | 16 位 | -32768 ~ 32767 |
int | 32 位 | -2147483648 ~ 2147483647 |
long | 64 位 | -9223372036854775808 ~ 9223372036854775807 |
eg 2.1 :定义 int 型变量。
int x;//定义 int 型变量 x
int x , y;//定义 int 型变量 x , y
int x = 450 , y = -462 ;//定义 int 型变量并赋给初值
在定义以上 4 种类型变量时,要注意变量的取值范围,超出相应范围就会出错。对于 long 型值,若赋给的值大于 int 型的最大值或小于 int 型的最小值,则需要在数字后加 L 或 l ,表示该数值为长整数。
long num = 2147483650L;
eg2.2 :在项目中创建类 Number ,在主方法中创建不同数值型变量,并将这些变量相加,将和输出。
package com.javaBase;
public class Number {
public static void main(String[] args) {
byte mybyte = 124; // 声明 byte 型变量并赋值
short myshort = 32564; // 声明 short 型变量并赋值
int myint = 45784612; // 声明 int 型变量并赋值
long mylong = 46789451; // 声明 long 型变量并赋值
long result = mybyte + myshort + myint + mylong; // 获得各数相加后的结果
System.out.println("结果为:" + result); // 将以上变量相加的结果输出
}
}
运行结果为 :
结果为:92606751
2.2 浮点类型
浮点类型表示有小数部分的数字。Java 语言中的浮点类型分为单精度浮点类型 ( float ) 和双精度浮点类型 ( double ),衙门具有不同的取值范围。
数据类型 | 内存空间 (8 位等于 1 个字节) | 取值范围 |
float | 32 位 | 1.4E-45 ~ 3.4028235E38 |
double | 64 位 | 4.9E-324 ~ 1.7976931348623157E308 |
在默认情况下小数都是 double 型,若要使用 float 型小数,则需要在小数后面加上 f 或 F 。可以使用后缀 d 或 D 来明确表明这是一个 double 类型数据,不加 “ d ”不会出错,但声明 float 型变量时如果不加 “ f ”,系统会认为变量是 double 类型而出错。
eg 2.3 :定义浮点类型变量。
float f1 = 13.23f;
double d1 = 4562.12d;
double d2 = 45678.1564;
2.3 字符类型
2.3.1 char 型
字符类型( char )用于存储单个字符,占用 16 位(两个字节)的内存空间。定义字符型变量时,要以单引号表示,如 ' s ' 表示一个字符。而 " s " 则表示一个字符串,虽然只有一个字符,但由于使用双引号,它仍然表示字符串,而不是字符。使用 char 关键字可定义字符变量。
eg2.4 :声明字符型变量。
char x = 'a';
char x =97;//'由于字符 a 在 unicode 表中的排序位置是97,因此也可以这样写
由于 unicode 编码采用无符号编码,可以存储 65536 个字符( 0x0000 ~ 0xffff ),所以 Java 中的字符几乎可以处理所有国家的语言文字。若想要得到一个 0 ~ 65536 之间的数所代表的 unicode 表中相应位置上的字符,也必须使用 char 型显示转换。
eg2.5 :在项目中创建类 Gess ,编写如下代码,实现将 unicode 表中某些位置上的字符以及一些字符在 unicode 表中的位置在控制台上输出。
package com.javaBase; //包
public class Gess { //创定义类
public static void main(String[] args) { //主方法
char word = 'd'; //定义 char 形变量 word
char word2 = '@'; //定义 char 形变量 word2
int p = 23045; //定义 int 形变量 p
int p2 = 45213; //定义 int 形变量 p2
System.out.println("d 在 unicode 表中的顺序位置是:" + (int) word);
System.out.println("@ 在 unicode 表中的顺序位置是:" + (int) word2);
System.out.println("unicode 表中的第23045位是:" + (char) p);
System.out.println("unicode 表中的第45213位是:" + (char) p2);
}
}
运行结果为 :
d 在 unicode 表中的顺序位置是:100
@ 在 unicode 表中的顺序位置是:64
unicode 表中的第23045位是:娅
unicode 表中的第45213位是:낝
2.3.2 转义字符
转义字符是一种特殊的字符变量,以反斜线 " \ " 开头,后跟一个或多个字符。转移字符具有特定的含义,不同于字符原有的意义,故称“ 转义 ”。例如,printf 函数的格式串中用到的“ \n ”就是一个转义字符,意思是“ 回车换行 ”。
转义字符 | 含义 |
\ddd | 1 ~ 3 位八进制数据所表示的字符,如: \456 |
\dxxxx | 4 位十六进制所表示的字符,如: \0052 |
\' | 单引号字符 |
\\ | 反斜杠字符 |
\t | 垂直制表符,将光标移到下一个制表符的位置 |
\r | 回车 |
\n | 换行 |
\b | 退格 |
\f | 换页 |
将转义字符赋值给字符变量时,与字符常量值一样需要单引号。
eg2.6 :使用转义字符。
char c1 = '\\'; //将转义字符'\\'赋值给变量 c1
char char1 = '\u2605'; //将转义字符'\u2605'赋值给变量 char1
System.out.println(c1); //输出结果
System.out.println(char1); //输出结果
运行结果为 :
\
★
2.4 布尔类型
布尔类型又称逻辑类型,通过关键字 boolean 来定义布尔类型变量,只有 true 和 false 两个值,分别代表布尔逻辑中的 " 真 " 和 " 假 "。布尔值不能与整数类型进行转换。布尔类型通常被用来做流程控制中的判断条件。
eg 2.7 :声明 boolean 型变量。
boolean b; //定义布尔型变量 b
boolean b1,b2; //定义布尔型表里 b1,b2
boolean b = true; //定义布尔型变量 b ,并赋给初值 true