您的位置:首页 > 编程语言 > Java开发

21天学通Java学习笔记-Day04

2014-06-29 16:10 357 查看
Day04:

静态数组是一组对象,每个元素都是一个对象,所以用 new 创建新的数组实例。

class test{
public static void main(String[]args){
a[] a1 = new a[3];
a[] a2 = new b[3];//子类对象放进父类数组
// b[] b1 = new a[3];父类对象放进子类数组,就算强制转换也不可以
b[] b2 = new b[3];
System.out.println(a1+" "+a2+" "+b2);//因为没有给数组中元素对象赋值,所以打印出的是数组在内存中的地址值
}
}

class a{
}

class b extends a{
}


对象数组被创建的时候,数组中的每个对象的引用都是 null ,所以在使用前必须将对象赋值给每个数组元素。

打印数组内容的方式:

import java.util.*; //导入 util 包
class test{
public static void main(String[]args){
int a[] ={1,2};
System.out.println(Arrays.toString(a)); //调用
}
}


检查数组长度方式:

class test{
public static void main(String[]args){
int a[] ={1,2};
System.out.println(a.length); //数组名.(点)length

}
}


多维数组:

二维数组定义

int[][] = new int[2][3];

i = new int[][]{{2,3,4,},{5,6,7}};

int[][] a = new int[][]{{2,3,4},{1,5,6}};

三维数组

int[][][] = new int[2][3][4];

i = new int[][]{{2,3,4,},{5,6,7},{1,8,9}};

int[][][]a = new int[][][]{{1,2,3,},{4,5,6,},{7,8,9}};

四维数组,五维数组........以此类推

6种关系运算符

== 等于

> 大于

< 小于

>= 大于等于

<= 小于等于

!= 不等于

逻辑运算符

&& 短路与(相当于 AND)

|| 短路或(相当于 OR)

! 逻辑非(相当于 NOT)

& 逻辑与

| 逻辑或

^ 逻辑异或

a && b (a & b) (若a、b 都为真,则 a && b (a & b) 为真)

a || b (a | b) (若 a、b 之一为真,则 a || b (a | b) 为真)

!a (若 a 为真,则 !a为假)

a ^ b (若a,b 是一真一假则为真,都为假或者都为真则为假)

真假返回值, 1 为真, 0 为假

if语句的三种形式:

1:

if(条件){

语句;

}

2:

if (条件) {

语句;

}

else {

语句;

}

3:

if(条件){

语句;

}

else if(条件){

语句;

}

.

.

.

.

else if(条件){

语句;

}

else{

语句;

}

条件运算符:

max = (a>b)? a:b;

max = a>b ? a:b

当 a>b 为真则取值 a ,否则取值 b ;

max = a>b?a:b+1 相当于 max = a>b?a:(b+1);

条件运算符方向“自右向左”:

a>b?a:c>d?c:d

相当于

a>b?a:(c>d?c:d)

switch 语句:

switch(条件)

{

case 常量表达式1: 语句 1;

case 常量表达式2: 语句 2;

case 常量表达式3: 语句3;

.

.

.

.

case 常量表达式n: 语句n;

default : 语句n+1;

}

当没有条件符合 case 常量表达式 就执行 default 语句;

case 不具有判断功能,即使条件找到相对应的 case 还是会继续执行下面的 case ;为了让条件找到相对应的 case 后停止,要在后面加上 break 跳出switch语句

最后的 default 可以不写 break

&& 表示逻辑“并且”

|| 表示逻辑“或”

! 表示“非”

while循环语句:

while(条件){

语句;

}

do-while循环语句:

do

{

循环体;

}

while(条件);

命令行 md 文件名 是创建文件夹

for循环语句:

for(条件1;条件2;条件3)

{

语句;

}

最简单的 for 语言形式:

for(循环变量赋初值;循环条件;循环变量增值)

{

语句;

}

终止语句 break : 终止循环。

跳出语句 continue : 跳出本次循环。

标号(标签):

与 break,continue 一起使用。

例如:

<pre name="code" class="java">class test {
public static void main(String []args) {
lable:            //标签名称
for(int i=0; i<9; i++) {
for(int j=0; j<8; j++) {
for(int k=0; k<7; k++) {
System.out.println(k + "\n ");
if(k == 4) break lable; // 满足条件后跳转到标签
}
System.out.println("After k loop"); // 不会被执行
}
System.out.println("After j loop"); // 不会被执行
}
System.out.println("After i loop");
}
}




标签的作用就是等到满足条件后直接跳转到标签位置,跳出多重循环,然后执行下面的语句。

递归调用:

class test {
public static void main(String[]args) {
System.out.println(method(6));
}

static int method(int i) {
if(i==1) {
return 1;
}else {
return i * method(i-1);
}
}
}


递归调用 打印 Fibonacci 数列:

class test {
public static void main(String[]args) {
System.out.println(method(9));
}
static int method(int i) {
if(i==1 || i==2){
return 1;
}
int a1 = 1;
int a2 = 1;
int a = 0;
for(int t=0;t<i-2;t++ ) {
a = a1+a2;
a1 = a2;
a2 = a;
}
return a;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: