21天学通Java学习笔记-Day04
2014-06-29 16:10
357 查看
Day04:
静态数组是一组对象,每个元素都是一个对象,所以用 new 创建新的数组实例。
对象数组被创建的时候,数组中的每个对象的引用都是 null ,所以在使用前必须将对象赋值给每个数组元素。
打印数组内容的方式:
检查数组长度方式:
多维数组:
二维数组定义
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 一起使用。
例如:
标签的作用就是等到满足条件后直接跳转到标签位置,跳出多重循环,然后执行下面的语句。
递归调用:
递归调用 打印 Fibonacci 数列:
静态数组是一组对象,每个元素都是一个对象,所以用 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; } }
相关文章推荐
- 21天学通Java学习笔记-Day03
- 21天学通Java学习笔记-Day09(IO流)
- 21天学通Java学习笔记-Day05
- 21天学通Java学习笔记-Day11(常用类)
- 21天学通Java学习笔记-Day01
- 21天学通Java学习笔记-Day08(数据结构)
- 21天学通Java学习笔记-Day13(javascript-ajax)
- 21天学通Java学习笔记-Day14(Tomcar-Servlet-JSP)
- 21天学通Java学习笔记-Day10(网路编程)
- 21天学通Java学习笔记-Day02
- 21天学通Java学习笔记-Day12(MYsql-JDBC)
- JAVA语言基础 +JAVA学习笔记-DAY04
- JAVA学习笔记day04 程序流程控制
- 21天学通Java学习笔记-Day07(异常-断言-线程)
- java学习笔记day04
- java 21天学习笔记
- 21天学通Java学习笔记-Day06
- 黑马程序员 java学习笔记(day04)
- Java学习笔记 Day04 (for循环嵌套、函数以及函数重载、数组)
- java学习笔记——毕向东视频day04