Java 对象和类
对象
对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
public class Puppy{
public Puppy(String name){//这个构造器仅有一个参数
nameSystem.out.println("小狗的名字是 : " + name );
}
public static void main(String[] args){// 下面的语句将创建一个Puppy对象
Puppy myPuppy = new Puppy( "tommy" );
}
}
类
类是一个模板,它描述一类对象的行为和状态。
- 局部变量:在方法、构造方法或者语句块中定义的变量被称为局部变量。变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。
- 成员变量:成员变量是定义在类中,方法体之外的变量。这种变量在创建对象的时候实例化。成员变量可以被类中方法、构造方法和特定类的语句块访问。
- 类变量:类变量也声明在类中,方法体之外,但必须声明为static类型。
public class Dog{
String breed;
int age;
String color;
void barking(){
}
void hungry(){
}
void sleeping(){
}
}
数据类型
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
1.byte:
● byte 数据类型是8位、有符号的,以二进制补码表示的整数;
● 默认值是 0;
● byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;
2.short:
● short 数据类型是 16 位、有符号的以二进制补码表示的整数
● Short 数据类型也可以像 byte 那样节省空间。一个short变量是int型变量所占空间的二分之一;
● 默认值是 0;
3.int:
● int 数据类型是32位、有符号的以二进制补码表示的整数;
● 一般地整型变量默认为 int 类型;
● 默认值是 0 ;
4.long:
● long 数据类型是 64 位、有符号的以二进制补码表示的整数;
● 这种类型主要使用在需要比较大整数的系统上;
● 默认值是 0L;
"L"理论上不分大小写,但是若写成"l"容易与数字"1"混淆,不容易分辩。所以最好大写。
5.float:
● float 数据类型是单精度、32位、符合IEEE 754标准的浮点数;
● float 在储存大型浮点数组的时候可节省内存空间;
● 默认值是 0.0f;
● 浮点数不能用来表示精确的值,如货币;
6.double:
● double 数据类型是双精度、64 位、符合IEEE 754标准的浮点数;
● 浮点数的默认类型为double类型;
● double类型同样不能表示精确的值,如货币;
● 默认值是 0.0d;
7.boolean:
● boolean数据类型表示一位的信息;
● 只有两个取值:true 和 false;
● 这种类型只作为一种标志来记录 true/false 情况;
● 默认值是 false;
8.char:
● char类型是一个单一的 16 位 Unicode 字符;
● char 数据类型可以储存任何字符;
public class PrimitiveTypeTest {
public static void main(String[] args) { // byte
System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE);
System.out.println("包装类:java.lang.Byte");
System.out.println("最小值:Byte.MIN_VALUE=" + Byte.MIN_VALUE);
System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE);
System.out.println();
}
}
//byte可改为其他数据类型
访问控制修饰符
Java 循环结构
1.while 循环
- 结构
只要布尔表达式为 true,循环就会一直执行下去。
while( 布尔表达式 ) {
//循环内容
}
- 实例
public class Test {
public static void main(String[] args) {
int x = 10;
while( x < 20 ) {
System.out.print("value of x : " + x );
x++;
System.out.print("\n");
}
}
}
2.do…while 循环
- 结构
对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。
do {
//代码语句
}while(布尔表达式);
注意:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。
- 实例
public class Test {
public static void main(String[] args){
int x = 10;
do{
System.out.print("value of x : " + x );
x++;
System.out.print("\n");
}while( x < 20 );
}
}
3.for 循环
- 结构
虽然所有循环结构都可以用 while 或者 do…while表示,但 Java 提供了另一种语句 —— for 循环,使一些循环结构变得更加简单。
for循环执行的次数是在执行前就确定的。
for(初始化; 布尔表达式; 更新) {
//代码语句
}
关于 for 循环有以下几点说明:
- 最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。
- 然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循环体后面的语句。
- 执行一次循环后,更新循环控制变量。
- 再次检测布尔表达式。循环执行上面的过程。
- 实例
public class Test {
public static void main(String[] args) {
for(int x = 10; x < 20; x = x+1) {
System.out.print("value of x : " + x );
System.out.print("\n");
}
}
}
4.break 关键字
- break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
break 跳出最里层的循环,并且继续执行该循环下面的语句。
public class Test {public static void main(String args[]) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) {// x 等于 30 时跳出循环
if( x == 30 ) {
break;
}
System.out.print( x );
System.out.print("\n");
}
}
}
5.continue 关键字
- continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
在 for 循环中,continue 语句使程序立即跳转到更新语句。
在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。
public class Test {
public static void main(String args[]) {
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ) {
if( x == 30 ) {
continue;
}
System.out.print( x );
System.out.print("\n");
}
}
}
Java 条件语句
- 结构
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
- 实例
public class Test {
public static void main(String[] args){
int x = 10;
if( x < 20 ){
System.out.print("这是 if 语句");
}
}
}
Java switch case 语句
- 语法
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch(expression){
case value ://语句
break;//可选
case value ://语句
break;//可选
//你可以有任意数量的case语句
default ://可选
//语句
}
Java 数组
- Java 语言中提供的数组是用来存储固定大小的同类型元素。
1.声明数组变量
数据类型[] 数组名; // 首选的方法
2.创建数组
数组名 = new 数据类型[数组大小];
3.声明创建数组
dataType[] arrayRefVar = new dataType[arraySize];
- 实例
public class TestArray {
public static void main(String[] args) {
// 数组大小
int size = 2;
// 定义数组
double[] myList = new double[size];
myList[0] = 5.6;
myList[1] = 4.5;// 计算所有元素的总和
double total = 0;
for (int i = 0; i < size; i++) {
total += myList[i];
}
System.out.println("总和为: " + total);
}
}
Java 方法
定义
Java方法是语句的集合,它们在一起执行一个功能。
1.方法是解决一类问题的步骤的有序组合
2. 方法包含于类或对象中
3. 方法在程序中被创建,在其他地方被引用
- 语法
修饰符 返回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
- 实例
public static int max(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}