首页 > 编程语言 >day01-java流程

day01-java流程

时间:2022-12-12 17:33:13浏览次数:49  
标签:语句 java day01 循环 数组 方法 流程 表达式 布尔

Scanner对象

基本语法:

Scanner s = new Scanner(System.in);

next()方法

nextLine()方法


顺序结构

选择结构

if单选结构

语法:

if(布尔表达式){

//如果布尔表达式为true将执行的语句

}

if双选结构

语法:

if(布尔表达式){

//如果布尔表达式为true将执行的语句

}else{

//如果布尔表达式为false将执行的语句

}

if多选结构

语法:

if(布尔表达式1){

//如果布尔表达式1的值为true将执行的语句

}else if(布尔表达式2){

//如果布尔表达式2的值为true将执行的语句

}else if(布尔表达式3){

//如果布尔表达式3的值为true将执行的语句

}else{

//如果以上布尔表达式都不为true将执行的语句

}

if 语句至多有 1个else 语,else 语句在所有的 else if 语句之后
if 语句可以有若干个 else if 语句,它们必须在 else 语句之前。
语句都将跳过执行。
旦其中一个 else if 语句检测为 true,其他的 else if 以及 else语句都将跳过执行

if嵌套

语法:

if(布尔表达式1){

​ //如果布尔表达式1为true将执行的语句

​ if(布尔表达式2){

​ //如果布尔表达式2为true将执行的语句

​ }

}

switch多选择结构

switch(expression){

​ case value :
​ //语句
​ break; //可选

​ case value :
​ //语句
​ break; //可选

​ //你可以有任意数量的case语句

​ default : //可选

​ //语句

}


还有case穿透

循环结构

while循环

语法:

while(布尔表达式){

​ //循环内容

}

do...while循环

do{

​ //代码语句

}while(布尔表达式);

for循环

for(初始化; 布尔表达式; 更新迭代){

​ /代码语句

}

快捷键 :100.for回车

关于 for 循环有以下几点说明:
最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语句。然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为faLse,循环终止,开始执行循环体后面的语句。执行一次循环后,更新循环控制变量(送代因子控制循环变量的增减)。再次检测布尔表达式。循环执行上面的过程。

//printLn 输出完会换行

//print 输出完不会换行

\n

增强for循环

for(声明语句 : 表达式){

​ //代码句子

}


break continue

break在任何循环语句的主体部分,均可用break控制循环的流程。break用于强行退出循环不执行循环中剩余的语句。(break语句也在switch语句中使用)

continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。

java方法讲解

修饰符 返回值类型 方法名(参数类型 参数名){

...

方法体

...

return 返回值;

}

修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。

返回值类型:方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void。

方法名:是方法的实际名称。方法名和参数表共同构成方法签名

参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数

形式参数:在方法被调用时用于接收外界输入的数据

*** 实参***:调用方法时实际传给方法的数据

方法体:方法体包含具体的语句,定义该方法的功能

方法调用

调用方法: 对象名.方法名(实参列表)

Java 支持两种调用方法的方式,根据方法是否返回值来选择

当方法返回一个值的时候,方法调用通常被当做一个值。例如:
int larger = max(30,40);
如果方法返回值是void,方法调用一定是一条语句
System.out.println("Hello, kuangshen!");

方法的重载

重载就是在一个类中,有相同的函数名称,但形参不同的函数
方法的重载的规则:
方法名称必须相同
参数列表必须不同 (个数不同、或类型不同、参数排列顺序不同等)
方法的返回类型可以相同也可以不相同
仅仅返回类型不同不足以成为方法的重载
实现理论
方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,以选择对应的方法,如果匹配失败,则编译器报错

递归

A方法调用B方法,我们很容易理解!

递归就是: A方法调用A方法!就是自己调用自己
利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。

递归结构包括两个部分
递归头: 什么时候不调用自身方法。如果没有头,将陷入死循环
递归体:什么时候需要调用自身方法

数组

数组是相同类型数据的有序集合

数组描述的是相同类型的若千个数据,按照一定的先后次序排列组合而成

其中每一个数据称作一个数组元素每个数组元素可以通过一个下标来访问它们

创建

首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法
dataType[] arrayRefVar; // 首选的方法
dataType arrayRefVar[]; // 效果相同,但不是首选方法
Java语言使用new操作符来创建数组,语法如下
dataType[] arrayRefVar = new dataType[arraySize];
数组的元素是通过索引访问的,数组索引从 0开始

获取数组长度:arrays.length

三种初始化

静态初始化
int[] a = (1,2,3);
Man[] mans = {new Man(1,1),new Man(2,2)};
动态初始化
int[] a = new int[2];
a[0]=1;a[1]=2;
数组的默认初始化

数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

数组的基本特点

其长度是确定的。数组一旦被创建,它的大小就是不可以改变的

其元素必须是相同类型,不允许出现混合类型

数组中的元素可以是任何数据类型,包括基本类型和引用类型

数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量

数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型数组对象本身是在堆中的

  1. 下标的合法区间: [0,length-1],如果越界就会报错

ArraylndexOutOfBoundsException : 数组下标越界异常!

多维数组

Arrays类

数组的工具类java.util.Arrays
由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作
查看JDK帮助文档
Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,而"不用"使用对象来调用(注意:是"不用”而不是“不能”)

具有以下常用功能:
给数组赋值: 通过 fill 方法
对数组排序: 通过 sort 方法,按升序
比较数组: 通过 equals 方法比较数组中元素值是否相等
查找数组元素:通过 binarySearch 方法对排序好的数组进行二分查找法操作

冒泡排序

//冒泡排序
1,比较数组中,两个相邻的元素如果第一个数比第二个数大,我们就交换他们的位置
2.每一次比较,都会产生出一个最大,或者最小的数宁:
3.下一轮则可以少一次排序!
4依次循环,直到结束
    
public static int[] sort(int[] array){
    //临时交量
	int temp = 0;
	//外层循环,判断我们这个要走多少次;
    for (int i = ; i < array.length-1; i++) {
        //内层循环,比价判断两个数,如果第一个数,比第二个数大,则交换位置		for (int j = 0; j < array.length-1-i ; j++) {
        	if (array[j+1]<array[j]){
           	 temp = array[j];
             array[j] = array[j+1];
             array[j+1] = temp;
        	}
    	}
    } 
return array;
}

稀疏数组

标签:语句,java,day01,循环,数组,方法,流程,表达式,布尔
From: https://www.cnblogs.com/liutianyi991/p/16976704.html

相关文章

  • JAVA基础
    JAVA基础注释注释不会被执行,是给写代码的人看的单行注释://多行注释:/**/(快捷键:选中->ctrl+shift+/;/*+回车)文档注释(JavaDoc)(快捷键:/**+回车)......
  • Java中文件转字符串的一种实现方式 (环绕执行模式&行为参数化&函数式接口|Lambda表达
    文件转字符串方式 --- (环绕执行模式&行为参数化&函数式接口|Lambda表达式)嗯,当然论方便的话,我们直接可以使用,org.apache.commons.io.FileUtils;StringreadFileToStrin......
  • 基于Docker构建CentOS7_Java8_Tomcat8.5 的镜像及Web应用的部署
    写在前面公司项目去​​Oracle​​​用​​teleDB​​,都在容器上部署,所以系统的学习下,之前着急忙慌的。本博客笔记属于​​实战类​​,适用于小白博文有错误的地方,或者关于博......
  • 学习Java可以从事什么工作?
    学习Java编程可以从事什么工作?码农?不仅仅是码农!而且,大家都太低估了码农,码农也分了很多种。让我们看看!学习Java编程可以从事什么工作1.学习Java编程可以从事互联网行业+......
  • 《Java并发编程详解》读书笔记
    嗯,书是假期开始看的感觉,虽然部分知识以前学过,但是在学一次巩固一下。嗯,加油生活。摘一句子,^_^有一天,突然发现自己没有热爱的东西了。就这样进入浪费时间的年代。秋天一到,候......
  • 关于JAVA 反射 基础知识/编码经验的一些总结
    写在前面温习一下毕业以来学习的东西。准备做成一个系列。所以对于每一部分技术点进行一个笔记整理。更多详见​​java面试的一些总结​​笔记主要是以网上开源的一本​​......
  • 《Java工程师修炼之道》学习笔记
    生活加油,摘一句子,如果有一天你不再寻找爱情,只是去爱;你不再渴望成功,只是去做;你不再追逐成长,只是去修;一切才真正开始——纪伯伦               ......
  • 《JAVA8基础应用与开发》读书笔记
    第一章,JAVA技术体系架构JAVASE,(标准版),核心技术。小型桌面应用。 JAVAME,(微型版),嵌入式,电子产品程序。 JAVAEE,(企业版),web应用。涉及的技术面很广。计算机语言机制 ......
  • 在老项目中使用java8的日期
    publicclassDateUtil{publicstaticfinalStringYYYYMMDD="yyyyMMdd";publicstaticfinalStringHHMMSS="HHmmss";publicstaticfinalStringYYYY......
  • 利用Java提供的观察者
    /***观察者类的具体实现*/publicclassConcreteObserverimplementsObserver{//名称的变量privateStringobserverName;publicStringgetObserverName()......