顺序结构、选择结构

顺序结构

  • Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。

  • 顺序结构是最简单的算法结构。

 

 

 

  • 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。

public static void main(String[] args) {
       System.out.println("顺序结构1111");
       System.out.println("顺序结构2222");
       System.out.println("顺序结构3333");
       System.out.println("顺序结构4444");
       System.out.println("顺序结构5555");
  }

//输出结果
顺序结构1111
顺序结构2222
顺序结构3333
顺序结构4444
顺序结构5555

Process finished with exit code 0

选择结构

if单选择结构

我们很多时候需要去判断一个东西是否可行,然后我们才去执行,这样一个过程在程序中用if语句来表示

语法:

if(布尔表达式){
   //如果布尔表达式为true将执行的语句
}

 

 

 

public static void main(String[] args) {
       Scanner scanner = new Scanner(System.in);

       System.out.println("请输入内容:");
       String s = scanner.nextLine();
       
       //equals:判断字符串是否相等
       if (s.equals("Hello")){
           System.out.println(s);
      }

       System.out.println("End");
       scanner.close();
  }

//输出结果
请输入内容:
Hello
Hello
End

Process finished with exit code 0

if双选择结构

那现在有个需求,公司要收购一个软件,成功了,给人支付100万元,失败了,自己找人开发。这样的需求用一个if就搞不定了,我们需要有两个判断,需要一个双选择结构,所有就有了if-else结构。

语法:

if(布尔表达式){
   //如果布尔表达式的值为true
}else{
   //如果布尔表达式的值为false
}

 

 

 

public static void main(String[] args) {
       //考试分数大于60就是及格,小于60分就不及格
       Scanner scanner = new Scanner(System.in);

       System.out.println("请输入成绩:");
       int score = scanner.nextInt();
       
       if (score >= 60) {
           System.out.println("及格");
      }else {
           System.out.println("不及格");
      }
       
       scanner.close();
  }

if多选择结构

我们发现刚才的代码不符合实际情况,真实的情况还可能存在ABCD,存在区间多级判断。比如90-100就是A,80-90就是B...等等,在生活中我们很多时候的选择也不仅仅只有两个,所以我们需要一个多选择结构来处理这类问题!

语法:

if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
   //如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
   //如果布尔表达式 3的值为true执行代码
}else{
   //如果以上布尔表达式都不为true执行代码
}

 

 

public static void main(String[] args) {
       //考试分数大于60就是及格,小于60分就不及格
       Scanner scanner = new Scanner(System.in);

/*
if语句至多有1个else语句,else语句在所有的else if 语句之后。
if语句可以有若干个else if语句,它们必须在else语句之前。
一旦其中一个else if 语句检测为true,其他的else if以及else语句都将跳过执行。
*/
       System.out.println("请输入成绩:");
       int score = scanner.nextInt();

       if (score==100){
           System.out.println("恭喜满分!");
      }else if (score >= 90 && score < 100){
           System.out.println("A级");
      }else if (score >= 80 && score < 90){
           System.out.println("B级");
      }else if (score >= 70 && score < 80){
           System.out.println("C级");
      }else if (score >= 60 && score < 70){
           System.out.println("D级");
      }else if (score >= 0 && score < 60) {
           System.out.println("不及格");
      }else {
           System.out.println("成绩不合法!");
      }
       scanner.close();
  }

//输出结果
请输入成绩:
100
恭喜满分!

Process finished with exit code 0

嵌套的if结构

使用嵌套的if...else语句是合法的。也就是说你可以在另一个if或者else if 语句中使用if或者 else if 语句。你可以像if语句一样嵌套else if...else。

语法:

if(布尔表达式 1){
   //如果布尔表达式 1的值为true执行代码
   if(布尔表达式 2){
       //如果布尔表达式 2的值为true执行代码
  }
}
 

每日Java面试题

一、Java的四种引用

1.强引用

最普遍的一种引用方式,如String s = "abc",变量s就是字符串"abc"的强引用,只要强引用存在,则垃圾回收器就不会回收这个对象。

2.软引用(SoftReference)

用于描述还有用但非必须的对象,如果内存足够,不回收,如果内存不足,则回收。一般用于实现内存敏感的高速缓存,软引用可以和引用队列ReferenceQueue联合使用,如果软引用的对象被垃圾回收,JVM就会把这个软引用加入到与之关联的引用队列中。

3.弱引用(WeakReference)

弱引用和软引用大致相同,弱引用与软引用的区别在于:只具有弱引用的对象拥有更短暂的声明周期。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。

4.虚引用(PhantomReference)

就是形同虚设,与其他几种引用都不同,虚引用并不会决定对象的声明周期。如果一个对象仅持有虚引用,那么它就和没有任何引用一样,在任何时候都可能被垃圾回收器回收。虚引用主要用来跟踪对象被垃圾回收器回收的活动。

虚引用与软应用和弱引用的一个区别在于:

虚引用必须和引用队列(ReferenceQueue)联合使用。当垃圾回收器准备回收一个对象时,如果发现它还有虚引,就会在回收对象的内存之前,把这个引用加入到与之关联的引用队列中。

二、Java中Comparator与Comparable有什么不同?

Comparator接口用于定义对象的自然顺序,是排序接口,而comparator通常用于定义用户定制的顺序,是比较接口。我们如果需要控制某个类的次序,而该类本身不支持排序(即没有实现Comparable接口),那么我们就可以建立一个"该类的比较器"来进行排序。Comparable总是只有一个,但是可以有多个comparator来定义对象的顺序。

三、Java序列化,反序列化?

Java序列化就是指将对象转换为字节序列的过程,反序列化是指将字节序列转换成目标对象的过程。

posted @   崔九八  阅读(125)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示