21天学通Java学习笔记-Day04
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;}
}
21天学通Java学习笔记-Day04相关推荐
- 21天学通Java学习笔记-Day01
21天学通java 中文第6版 下载地址:点击打开链接 Day01: 命令行查看和设置classpath: 查看:echo %classpath% 设置:set classpath = %classp ...
- 21天学通Java学习笔记-Day12(MYsql-JDBC)
JDBC MYQL 基础: 用命令行进入MYSQL:shell > mysql -h host(主机) -u user(用户名) -p 回车,等待输入密码 退出MYSQL:mysql > ...
- 21天学通Java学习笔记-Day02
Day02: java 程序是由 类,对象 组成.对象和类是由 方法,变量组成.方法是由 语句,表达式 组成.表达式是由 运算符 组成. 3种变量: 实例变量:定义对象的属性. 类 变 量 : 定义类 ...
- 21天学通Java学习笔记-Day06
Day06: 限定符: *限定符 public ,protected 和 private 用于控制类,方法和变量的访问 *限定符 static 用于创建类方法和类变量 *限定符 final 用于固定( ...
- 21天学通Java学习笔记-Day11(常用类)
java 常用类(重点): String 类: String 类代表字符串.创建以后不能更变. public class tests { public static void main(String[ ...
- 21天学通Java学习笔记-Day10(网路编程)
网路编程(重点): TCP 程序:Socket 程序,双方必须建立可靠连接 UTP 程序:数据报程序,建立的连接属于不可靠 开发第一个Socket 程序: 如果要进行网络程序的开发,首先需要两个类: ...
- 21天学通java第7版pdf_21天学通Java.第7版.pdf
<21天学通Java(第7版)>是初学者学习Java编程语言的畅销经典教程,循序渐进地介绍了Java编程语言知识,并提供了丰富的实例和练习:同时全面涵盖了Java 8这一新标准以及与And ...
- 《21天学通Java(第6版)》—— 1.4 属性和行为
本节书摘来异步社区<21天学通Java(第6版)>一书中的第1章,第1.4节,作者:[美]Rogers Cadenhead,更多章节内容可以访问云栖社区"异步社区"公众 ...
- 《21天学通Java(第7版)》—— 第2章 Java编程基础 2.1 语句和表达式
本节书摘来异步社区<21天学通Java(第7版)>一书中的第2章,第2.1节,作者: [美]Rogers Cadenhead(罗格斯 卡登海德),更多章节内容可以访问云栖社区"异 ...
最新文章
- 创建物化视图commit_oracle 中物化视图讲解
- 机器学习:林智仁libsvm 工具箱 在matlab下的应用总结
- 供应链 信用管理 大数据_以“大数据”引领农产品供应链变革,推动农产品供应链智能化发展...
- 18款 非常实用 jquery幻灯片图片切换
- 【OpenCV 例程200篇】82. 频率域巴特沃斯低通滤波器
- HTML中的节点及其作用
- (16)System Verilog禁止类中所有变量随机化
- 学业水平考试b能上985吗_这是最好考的985高校,如今被“降级”到双一流B类,真让人惋惜...
- 【MFC相关问题】vs 2019 出现 building MFC application with /MD [d] (CRT dll version) requires MFC shared
- This is why you don’t think you’re creative 你为什么会觉得自己没有创造力?
- 珍藏版创业思维导图,帮你成功创业!
- element-plus日期选择器 value-format出错
- 【计算机组成与结构】中央处理器
- 【机器学习】决策树实验报告
- 小米米家零冷水燃气热水器 S1 18L 评测
- MySQL数据库报错汇总(持续更新中)
- 什么叫做POJO类?
- 【电源】之【常用稳压IC大全】
- 安装(解密)win10 10074 esd 更新 10162 esd
- 张一鸣卸任字节跳动 CEO,网友调侃因未完成去年 OKR 被优化!
热门文章
- Java怎样掉包,如果不想你被称做掉包侠,那么请有效地学习机器学习算法知识...
- Android input 系统InputReader,InputDispatcher线程实例--UI死掉
- python里find是什么函数_Python find函数用法和概念
- Ubuntu 20.04视频播放
- 每天学习写论文——Day30 英文论文就比中文高大上吗?
- Java学习:自学or培训?
- Ubuntu系统新建用户时终端只显示$符号
- java第14章学习总结
- 低代码开发平台到底是何方圣神? 居然可以虏获世界500强等企业的芳心!
- 开发者自己搭建IM服务器所要面临的问题