Java流程控制与方法

用户交互 Scanner
Scanner s = new Scanner ( System . in );
next & nextLine
两者区别:
next():
1 、一定要读取到有效字符后才可以结束输入。
2 、对输入有效字符之前遇到的空白, next() 方法会自动将其去掉。
3 、只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
4 next() 不能得到带有空格的字符串。
nextLine()
1 、以 Enter 为结束符 , 也就是说 nextLine() 方法返回的是输入回车之前的所有字符。
2 、可以获得空白。
3 、其他方法
if ( scan . hasNextInt ()) {
// 判断输入的是否是整数
i = scan . nextInt ();
// 接收整数
System . out . println ( " 整数数据: " + i );
}
判断输入的时候是整数,也可以判断浮点数等等
顺序结构
JAVA 的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行
选择结构
阿里巴巴Java开发手册规范, 
【强制】大括号的使用约定。如果是大括号内为空,则简洁地写成 {} 即可,不需要换行 如果
是非空代码块则:
1 左大括号前不换行。
2 左大括号后换行。
3 右大括号前换行。
4 右大括号后还有 else 等代码则不换行 表示终止的右大括号后必须换行。
左小括号和字符之间不出现空格 同样,右小括号和字符之间也不出现空格。详见
5 条下方正例提示
if / for / while / switch / do 等保留字与括号之间都必须加空格。
if 单选择结构
if 双选择结构   if    else
if 多选择结构   if    else if
嵌套的 if 结构
循环结构
Java 中有三种主要的循环结构:
while 循环
do…while 循环
for 循环
另外  jdk5中 新增增强for循环
1 while 循环
while ( 布尔表达式 ) {
// 循环内容
}
2 do…while 循环  至少执行一次
3 For 循环
虽然所有循环结构都可以用 while 或者 do...while 表示,但 Java 提供了另一种语句 —— for 循环,使一
些循环结构变得更加简单。
for 循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。
break & continue
1 break 关键字
break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。
2 continue 关键字
continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。
for 循环中, continue 语句使程序立即跳转到更新语句。
while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句
方法
1 、何谓方法?
在前面几个章节中我们经常使用到 System.out.println() ,那么它是什么呢?
println() 是一个方法。
System 是系统类。
out 是标准输出对象。
这句话的用法是调用系统类 System 中的标准输出对象 out 中的方法 println()
Java 方法是语句的集合,它们在一起执行一个功能。
方法是解决一类问题的步骤的有序组合
方法包含于类或对象中
方法在程序中被创建,在其他地方被引用
方法的优点
使程序变得更简短而清晰。
有利于程序维护。
可以提高程序开发的效率。
提高了代码的重用性。
命名规则  小写字母开头  驼峰命名法
方法包含一个方法头和一个方法体。下面是一个方法的所有部分:
修饰符: 修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
返回值类型 : 方法可能会返回值。 returnValueType 是方法返回值的数据类型。有些方法执行所需
的操作,但没有返回值。在这种情况下, returnValueType 是关键字 void
方法名: 是方法的实际名称。方法名和参数表共同构成方法签名。
参数类型: 参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参
数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
形式参数:在方法被调用时用于接收外界输入的数据。
实参:调用方法时实际传给方法的数据。
、方法调用
JAVA 中只有值传递!
方法的重载
上面使用的 max 方法仅仅适用于 int型数据。但如果你想得到两个浮点类型数据的最大值呢?解决方法是创建另一个有相同名字但参数不同的方法,
、可变参数 传入的应该是数组类型
typeName ... parameterName
在方法声明中,在指定参数类型后加一个省略号 (...)
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声
递归
递归是一种常见的解决问题的方法,即把问题逐渐简单化。递归的基本思想就是 自己调用自己 ,一个
使用递归技术的方法将会直接或者间接的调用自己。
利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原
问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计
算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。
递归结构包括两个部分:
1. 递归头。解答:什么时候不调用自身方法。如果没有头,将陷入死循环。
2. 递归体。解答:什么时候需要调用自身方法。
Static

static方法

  static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。

  但是要注意的是,虽然在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法/变量的。

static变量

  static变量也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。

static代码块

  static关键字还有一个比较关键的作用就是 用来形成静态代码块以优化程序性能。static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。

  为什么说static块可以用来优化程序性能,是因为它的特性:只会在类加载的时候执行一次。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值