JAVA语言基础
1.选择结构if语句格式及其使用
if(比较表达式) {
语句体1;
}else {
语句体2;
}
执行流程:
先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体1;
如果是false,就执行语句体2;
案例演示:获取两个数据中较大的值
Scanner sc=new Scanner(System.in);
System.out.println("请输入第一个整数");
int a=sc.nextInt();
System.out.println("请输入第二个整数");
int b=sc.nextInt();
int max;
if(a>b){
max=a;
}else{
max=b;
}
System.out.println("最大值是"+max);
2.switch语句的格式及使用
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
…
default:
语句体n+1;
break;
}
执行流程:
先计算表达式的值
然后和case后面的匹配,如果匹配成功就执行对应的语句,遇到break就会结束,否则执行default控制的语句
实例演示:
用switch语句实现以下需求:
请根据键盘输入的月份,打印出对应月份的天数
ackage com.java.tr;
import java.util.Scanner;
public class ifDemo{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt();
if(month >= 1 && month <= 12) {
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println(31);
break;
case 2:
System.out.println(28);
break;
case 4:
case 6:
case 9:
case 11:
System.out.println(30);
break;
}
}
}
}
if语句和switch语句应该如何选择?
if语句:
针对结果是boolean类型的判断
针对一个范围的判断
针对几个常量值的判断
switch语句:
针对几个常量值的判断
3.for循环语句
格式:
for(初始化表达式语句;判断条件语句;控制条件语句) {
循环体语句;
}
执行流程:
a:执行初始化表达式语句
b:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
c:执行循环体语句;
d:执行控制条件语句
e:回到B继续。
实例:
1、请编写程序,打印出如下图形,并在main方法中调用
1
12
123
1234
12345
…
System.out.println("请输入数字");
Scanner scanner=new Scanner(System.in);
String s =
scanner.nextLine();
Integer integer =
Integer.valueOf(s);
dayin(integer);
}
public static void dayin(int sum){
for (int i = 1; i <= sum; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j);
}
System.out.println();
}
4.while循环语句
格式:
初始化条件语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
执行流程:
a:执行初始化条件语句;
b:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
c:执行循环体语句;
d:执行控制条件语句
e:回到b继续。
实例:
求1–100之间的整数的和
int j=1;
int sum=0;
while (j<=100){
sum+=j;
j++;
}
System.out.println("和是 "+sum);~
5.do…while循环语句
格式:
初始化条件语句;
do {
循环体语句;
控制条件语句;
}while(判断条件语句);
执行流程:
a:执行初始化条件语句;
b:执行循环体语句;
c:执行控制条件语句;
d:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
e:回到b继续。
实例:
输出8次你好,用dowhile语句
int i=10;
do{
System.out.println("你好");
i--;
}while (i>2);~
循环嵌套已在for循环实例中展现
6.控制跳转语句的分类
break 中断
continue 继续
break的使用场景
(1):在选择结构switch语句中
(2):在循环语句中
break的作用:
a:退出单层循环
b:退出多层循环(几乎不使用)
要想实现这个效果,就必须知道一个东西;带标签的语句;
格式:标签名:语句
continue的使用场景
(1):在循环语句中
(2):离开使用场景的存在是没有意义的
continue的作用
a:跳出一次循环,执行下一步操作
主要学习了if,switch语句,以及for,while,do…while循环,还有一些控制跳转语句的使用,这些都是JAVA的语言基础,通过课后题的练习,感觉自己的知识更加稳固。只有反复的练习才能熟悉的使用这些基础语法,一定要打好基础,这样以后才能更加深入的学习。
1.方法概述和格式说明
方法就是完成特定功能的代码块
格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2 …){
方法体;
return 返回值;
}
实例演示:
根据键盘录入的行数和列数,在控制台输出星形
Scanner scanner = new Scanner(System.in);
System.out.println("请输入行数");
int num= scanner.nextInt();
System.out.println("请输入列数");
int num2 = scanner.nextInt();
showStar(num,num2);
}
private static void showStar(int num, int num2) {
for (int i = 0; i <= num; i++) {
for (int i1 = 0; i1 <= num2; i1++) {
System.out.print("*");
}
System.out.println();
}~
2.数组
数组是存储多个变量(元素)的东西(容器)
这多个变量的数据类型要一致
数组概念:
数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。
数组既可以存储基本数据类型,也可以存储引用数据类型(后面讲解)。
数组定义格式:
格式1: 数据类型[] 数组名;
格式2: 数据类型 数组名[]
什么是数组的初始化???
Java中的数组必须先初始化,然后才能使用。
所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。
初始化的分类:
a:动态初始化: 只指定长度,由系统给出初始化值
b:静态初始化: 给出初始化值,由系统决定长度
注意事项: 这两种方式,只能使用一种,不能进行动静结合
Java中的内存分配以及栈和堆的区别
栈: 存放的是局部变量
局部变量:在方法定义中或者方法声明上的变量都是局部变量。
堆: 存放的是所有new出来的东西
特点:
a: 每一个new出来的东西都会为其分配一个地制值。
b: 每一个变量都有一个默认的值
byte,short,int,long – 0
float,double – 0.0
char – ‘\u0000’
boolean – false
引用数据类型 – null
c: 使用完毕就变成了垃圾,等待垃圾回收器对其回收
二维数组概述和格式
格式:
int[][] arr = new int3;
定义了一个二维数组arr
这个二维数组有3个一维数组,名称是arr[0],arr1,arr2
每个一维数组有2个元素,可以通过arr[m][n]来获取
表示获取第m+1个一维数组的第n+1个元素
二维数组概述:
二维数组其实就是每一个元素为一维数组的数组。
实例:
定义一个二维数组,输出二维数组的名称和二维数组的的每一个一维数组,然后动态给二维数组赋值一维数组
再次输出二维数组中的每一个一维数组,给二维数组中的元素赋值,输出对应的元素值
int[] arr1 = new int[3];
arr1[0]=10;
arr1[2]=200;
int[] arr2 = new int[3];
arr2[0]=11;
arr2[1]=19;
int[] arr3=arr1;
arr3[0]=108;
arr3[1]=106;
arr1[1]=177;
System.out.println(arr1[0]); // 108
System.out.println(arr1[1]); // 177
System.out.println(arr1[2]); // 200
System.out.println(arr2[0]); // 11
System.out.println(arr2[1]); // 19
System.out.println(arr2[2]); // 0
System.out.println(arr3[0]); // 108
System.out.println(arr3[1]); // 177
System.out.println(arr3[2]); // 200~
数组查表法(根据键盘录入索引, 查找对应星期);根据索引查元素
String[] arr = {"星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"};
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数 1----7");
int index = scanner.nextInt();
String str = getElementByArray(index, arr);
System.out.println(str);
}
private static String getElementByArray(int index, String[] arr) {
if (index >= 1 && index <= 7) {
return arr[index - 1];
} else {
return "查无此元素";
}
主要学习了方法和数组,相比于前一天类容要更复杂一些,通过听课,看书,然后自己敲代码,对方法和数组有了一定的了解,但是感觉还是不够熟悉,我决定花多一点的时间在31日所学的知识上,反复练习,相信会有所提高。
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' |
‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" |
“Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash |
– is en-dash, — is em-dash |
一个具有注脚的文本。2
Markdown将文本转换为 HTML。
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图::
这将产生一个流程图。:
我们依旧会支持flowchart的流程图:
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
如果你想加载一篇你写过的.md文件或者.html文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
mermaid语法说明 ↩︎
注脚的解释 ↩︎