Java 控制结构与方法
控制结构:
控制结构是对我们程序执行顺序的一种控制,它规定了我们语句块的执行顺序和流程。
分支结构:
关系运算符和逻辑运算符:
关系运算符:== != > >= < <=
逻辑运算符:&& || !
int a = 10;
int b = 20;
if ( b == 20 || a == 10 && a < 10 ){
System.out.pr
intln("分支1");
}else{
System.out.pr
intln("分支2");
}
循环结构:
Break
Break 在循环中的作用是 跳出一个循环或者结束一个循环 (跳出当前循环)
public class Hello {
public static void main(String[] args) {
for(int i=0;i<=10;i++) {
System.out.println(i); }
}
} 输出 :0.1.2.3.4.5.6.7.8.9.10
加上break之后:
public class Hello {
public static void main(String[] args) {
for(int i=0;i<=10;i++) {
System.out.println(i);
break;
}
}
}
输出 0
直接执行了一次 , 就跳出当前循环体了。想想这只是跳出单个循环 如果双重循环, 或者多重循环我们怎么办呢 ? 有人会说 每个循环加个break 。 不存在的, 这时候我们通常会引入一个标志量的概念。
同样的例子:
public class Hello {
public static void main(String[] args) {
boolean flag = true ;
for(int i=1;i<=10;i++) {
System.out.println("跑了"+i+"圈哦");
for(int j = 1;j<10;j++) {
System.out.println("走了"+j+"圈");
if(j==3) {
flag=false;
break;
}
}
if (flag !=true) {
break;
}
}
}
}
设置一个标志量,当读取到这个标志量和之前设置的不符合, 就可以选择跳出。
Continue
立即结束本次循环,继续执行下一次循环 。
依旧举个栗子
public class Hello {
public static void main(String[] args) {
for(int i=0;i<=10;i++) {
if (i == 5) {
continue;
}
System.out.println(i);
}
}
}
输出 0.1.2.3.4.6.7.8.9.10 跳过了5
方法:
方法及方法的声明
面向对象中函数称为方法,本质一样
方式一:无参数有返回值的声明,其格式为
访问修饰符 数据类型 方法名([参数列表]){
// 方法体
return 值;
} public int getValue(){
return 3;
}
或者
public int getValue(){
int number = 3;
return number;
//返回值的数据类型必须与声明时的数据类型相一致!!! }
方式二: 无参数无返回值的声明,其格式为
访问修饰符 void 方法名([参数列表]){
// 方法体
} public void eat(){
System.out.println("吃饺子...");
}
void表示无返回值, 在方法体最后不需要return!!!
方法调用实例:
public class First {
public static void main(String[] args) {
First f = new First();
int m = f.getMax();
System.out.println(m);
}
public int getMax(){
int max = 0;
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数字:");
int a = sc.nextInt();
System.out.println("请输入第二个数字:");
int b = sc.nextInt();
max = a>b?a:b;//三目运算符
sc.close();
return max;
}
}
参数
参数的分类:
– 形参:声明方法时,所定义的参数;
访问修饰符 类型 方法名(类型 参数名1,类型 参数名2){ }
– 实参:调用方法时,所传入的值,个数、类型、顺序必须与形参相同;
方法名(值); 或 对象名.方法名(值); 或 类名.方法名(值);
– 可变长参数:java1.5增加的新特性,可变参数适用于参数不确定,类型确定的情况,java把可变参数当作数组处理;
访问修饰符 类型 方法名(类型 参数名1,类型 参数名2){ }
Static 关键字
含义
静态的, 在内存中具有唯一的存储空间; 特点 能够被同一个类的多个对象或方法所共享;
能修饰全局变量(称为: 类变量或静态变量), 其格式为:访问修饰符 static 数据类型 变量名;
能修饰方法(称为: 类方法或静态方法), 其格式为: 访问修饰符 static 类型 方法名([参数列表]){ }
重载:
含义:
在本类中, 方法名相同,参数个数,顺序,类型只要有一个不同,即为重载。与返回值无关。
public class Hello {
public void Overloading(String name){
System.out.println("原始 方法");
}
public int Overloading(int a) {
System.out.println("重载 一");
return a;
}
public void Overloading(String name,int a){
System.out.println("重载 二");
} }
Java 控制结构与方法的更多相关文章
- oracle调用JAVA类的方法
导入jar包 在oracle中导入需要的jar包,我们把编辑好的java类打成jar包,直接在oarcle里面写简单的调用就可以了, 1.操作系统需要拥有支持loadjava命令的jdk. 2.加 ...
- Java中的方法应用
一.如何定义java中的方法 所谓方法,就是用来解决一类问题的代码的有序组合,是一个功能模块. 语法: 1. 访问修饰符:方法允许被访问的权限范围, 可以是 public.protected.priv ...
- Java Runtime.availableProcessors()方法
Java Runtime.availableProcessors()方法用法实例教程. 描述 java.lang.Runtime.availableProcessors() 方法返回到Java虚拟 ...
- paip.java OutOfMemoryError 解决方法o33
paip.java OutOfMemoryError 解决方法o33 java.lang.OutOfMemoryError: Requested # java.lang.OutOfMemoryErro ...
- Java读写文件方法总结
Java读写文件方法总结 Java的读写文件方法在工作中相信有很多的用处的,本人在之前包括现在都在使用Java的读写文件方法来处理数据方面的输入输出,确实很方便.奈何我的记性实在是叫人着急,很多时候既 ...
- java调用本地方法的时候报错 could not find the main class:xx.program will exit
如图所示,当在java调用本地方法的时候报错 我的解决办法是把dll文件放到System.out.println(System.getProperty("java.library.path& ...
- 给NSString增加Java风格的方法
给NSString增加Java风格的方法 文章目录 我实在受不了 NSString 冗长的方法调用了,每次写之前都要查文档.特别是那个去掉前后多余的空格的方法,长得离谱.与之对应的别的语言,拿 jav ...
- Java基础——clone()方法浅析
一.clone的概念 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那 ...
- java接口的方法默认都是public abstract类型
java接口的方法默认都是public abstract类型, 因此我们在编写接口的实现类的时候,方法的实现前面要显式的加上public访问控制符
随机推荐
- 运维DBA要不要学python
运维DBA要不要学python 我个人认为是:要 现在python在运维数据库的工作中主要用在 1.编写一些运维脚本 2.编写运维管理平台 3.研究互联网大厂的运维脚本/工具并应有 特别是运维开源数据 ...
- SPI驱动调试感悟
最近一段时间,在TX1平台的uboot中添加一个spi接口的液晶显示屏的驱动.本来以为是一项简单的工作,因为: 1.相同的驱动在其他平台的uboot中已经添加过了 2.内核中的驱动也是验证可用的,所以 ...
- 3星|路江涌《共演战略画布》:PPT技巧级别的创新,缺实际分析案例
作者用自己的思路综合现有各种战略思想,给出企业各阶段各要素的战略分析工具.主要是2*2矩阵和双S曲线两种工具. 从书中的插图来看,这些工具在PPT演示中效果应该会不错. 作者在书中用这些工具做的分析不 ...
- 【普及篇】通信能力API及其前景分析
** 1.目前通信行业发展背景**运营商基础通信能力的价值逐渐提升进入数字化时代以来,信息产业正迎来新变革与新发展——网络信息技术与社会各领域全面深度融合,为工业制造.智慧城市等各行业赋能.运营商传统 ...
- 题目:python 打印出如下图案(菱形):
# 题目:打印出如下图案(菱形): # # * # *** # ***** # ******* # ***** # *** # * nu = 1 # 开始值 k = 2 # 变量值 while nu ...
- navicat导入.sql文件
用Navicat for Mysql导入.sql文件 虽然这算不上什么难事,但是对于新手来说(比如说我),Navicat for MySQL里的导出连接.运行SQL文件.导入向导.还原备份.这些功 ...
- 【Python实践-4】切片操作去除字符串首尾的空格
#利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法 def trim(s): while s[0:1]==' ': s=s[1:] while s[ ...
- 关于Bulk加载模式
Bulk加载模式是Informatica提供的一种高性能数据加载模式,它利用数据库底层机制,依靠调用数据库本身提供的Utility来进行数据的加载 该方式将绕过数据库的log记录,以此提高数据库加载性 ...
- 第一周 IP通信基础学习回顾
这周的课程首先让我们学习了计算机网络概述,了解计算机网络的定义和功能分别是:资源共享,信息传输与集中处理,负载均衡与分布处理,综合信息服务.同时也对计算机网络的演进,计算机网络的分类,计算机网络的性能 ...
- .NET Core微服务之ASP.NET Core on Docker
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.Docker极简介绍 1.1 总体介绍 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.D ...