当前位置: 首页 > news >正文

《Thinking in Java》Forth 控制执行流程

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1、true/false

Java中不允许将一个数字作为布尔值使用。

if(a)//不允许,若a为非布尔值


//可以转化为

if(a != 0)

2、“else if”并非是一个新的关键字,仅仅是一个else后面紧跟if语句。

 package Fourth;

/*随机输出25个int型随机数,对每一个随机数使用if-else语句将其分类为大于、小于、等于紧随它生成的随机数*/

import java.util.Random;

public class IfElseNextInt {
 public static void main(String[] args){
  int[] a = new int[25];
  int count1 = 0,count2 = 0,count3 = 0;
  Random random = new Random();
  
  for(int i = 0;i<25;i++){
   
   a[i] = random.nextInt();
   System.out.print(a[i]+" ");
   
   
  }
  System.out.println(" ");
  for(int j = 0; j<24; j++){
    if(a[j] < a[j+1]){  
              System.out.println(a[j]+"小于"+a[j+1]);  
              count1++;
          }else if(a[j]< a[j+1]){  
              System.out.println(a[j]+"等于"+a[j+1]);
              count2++;
          }else{  
              System.out.println(a[j]+"大于"+a[j+1]); 
              count3++;
          }  
  }
  
  System.out.println("count1 = "+count1);
  System.out.println("count2 = "+count2);
  System.out.println("count3 = "+count3);
 }
}/*Outputs:
-1354703007 1805422196 -1297880545 1793371722 -234103217 -833903965 -1176050239 1179914159 1647912769 -917685928 -645989902 522511923 -1215204011 1866894430 -998138732 716269013 -469080041 -1602332390 -1863176595 -160521188 -1280051709 -2121712965 1478433613 866361195 -1817443512  
-1354703007小于1805422196
1805422196大于-1297880545
-1297880545小于1793371722
1793371722大于-234103217
-234103217大于-833903965
-833903965大于-1176050239
-1176050239小于1179914159
1179914159小于1647912769
1647912769大于-917685928
-917685928小于-645989902
-645989902小于522511923
522511923大于-1215204011
-1215204011小于1866894430
1866894430大于-998138732
-998138732小于716269013
716269013大于-469080041
-469080041大于-1602332390
-1602332390大于-1863176595
-1863176595小于-160521188
-160521188大于-1280051709
-1280051709大于-2121712965
-2121712965小于1478433613
1478433613大于866361195
866361195大于-1817443512
count1 = 10
count2 = 0
count3 = 14*///~

3、Foreach

Java1.5以后新增的foreach语法

 package Fourth;

import java.util.Random;

public class Foreach {
 public static void main(String[] args){
  Random random = new Random();
  float[] a = new float[10];
  for(int i = 0;i < 10; i++){
   a[i] = random.nextFloat();
  }
 
  /**java1.5以后,此条语句定义了一个float型的x,继而将每一个
   * 数组a的值赋给x*/
 
  for(float x: a){
   System.out.print(x+" ");
  }
 }
}/*Outputs:
0.32246327 0.59484965 0.20389026 0.70910615 0.31593043 0.6692021 0.4307089 0.36957538 0.87660265 0.8898278*/

 

 package Fourth;

public class ToCharArray {
 public static void main(String[] args){
  
  String str = "IwanttobetrongandIwill";
 
  /**String类的toCharArray()方法
   * char[] java.lang.String.toCharArray()
   * Converts this string to a new character array.*/
  
  for(char x: str.toCharArray())
   System.out.print(x+" ");
 }
}/*Outputs:
I w a n t t o b e t r o n g a n d I w i l l */

4、for

 package Fourth;

/*输出100以内的素数*/

public class ForSuShu {
  public static void main(String[] args){
     /*int i, j;
           for (i = 2; i <= 100; i++) {
              for (j = 2; j < i; j++) {
                   if (i % j == 0)
                
                      break;//跳出内层循环
             
               }
               if (j >= i)
                  System.out.println(i);
         }*/
   boolean bool;
           for (int i = 3; i < 100; i+=2) {
               bool = true;
             for (int j = 3; j <= Math.sqrt(i); j++) {
                  if (i % j == 0) {
                      bool = false;
                       break;
                 }
             }
             if (bool)
                 System.out.print(i + " ");
          }  
}
}/*Outputs:
3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97*/

 

 

package Fourth;

public class E10_Vampire {

 public static void main(String[] args) {
    int[] startDigit = new int[4];
    int[] productDigit = new int[4];
    for(int num1 = 10; num1 <= 99; num1++)
        for(int num2 = num1; num2 <= 99; num2++) {
           // Pete Hartley's theoretical result:
           // If x·y is a vampire number then
            // x·y == x+y (mod 9)
            if((num1 * num2) % 9 != (num1 + num2) % 9)
                 continue;
     int product = num1 * num2;
     startDigit[0] = num1 / 10;
     startDigit[1] = num1 % 10;
    startDigit[2] = num2 / 10;
     startDigit[3] = num2 % 10;
    productDigit[0] = product / 1000;
     productDigit[1] = (product % 1000) / 100;
     productDigit[2] = product % 1000 % 100 / 10;
     productDigit[3] = product % 1000 % 100 % 10;
     int count = 0;
     for(int x = 0; x < 4; x++)
       for(int y = 0; y < 4; y++) {
          if(productDigit[x] == startDigit[y]) {
               count++;
               productDigit[x] = -1;
               startDigit[y] = -2;
               if(count == 4)
                   System.out.println(num1 + " * " + num2
                           + " : " + product);
                }
             }
         }
    }
 } /*Outputs:
15 * 93 : 1395
21 * 60 : 1260
21 * 87 : 1827
27 * 81 : 2187
30 * 51 : 1530
35 * 41 : 1435
80 * 86 : 6880*/

 

转载于:https://my.oschina.net/doudoulee/blog/647954

相关文章:

  • Android学习笔记-----------广播
  • Ajax跨域访问
  • UILabel和Scrollview结合用,label高度自适应
  • Analytics.js简介
  • YII文件上传
  • Linux下ssh远程连接慢解决
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • 高项-3月30号培训作业
  • ThreadPoolExecutor运行机制
  • 循环创建按钮
  • python3-itertools模块和迭代器函数
  • Java字节码浅析(三)
  • swift学习笔记
  • Java静态代码分析工具——FindBugs插件的安装与使用
  • 好看的网站
  • hexo+github搭建个人博客
  • CSS相对定位
  • Cumulo 的 ClojureScript 模块已经成型
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Shell编程
  • SpiderData 2019年2月13日 DApp数据排行榜
  • vue自定义指令实现v-tap插件
  • 检测对象或数组
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 前端面试题总结
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 小李飞刀:SQL题目刷起来!
  • 携程小程序初体验
  • 一个JAVA程序员成长之路分享
  • 栈实现走出迷宫(C++)
  • 主流的CSS水平和垂直居中技术大全
  • 【干货分享】dos命令大全
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • ​渐进式Web应用PWA的未来
  • #include<初见C语言之指针(5)>
  • #pragma pack(1)
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (分布式缓存)Redis持久化
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (转载)OpenStack Hacker养成指南
  • .net 4.0发布后不能正常显示图片问题
  • .net php 通信,flash与asp/php/asp.net通信的方法
  • .Net的C#语言取月份数值对应的MonthName值
  • .NET中两种OCR方式对比
  • .pyc文件是什么?
  • ::before和::after 常见的用法
  • ??eclipse的安装配置问题!??
  • @selector(..)警告提示
  • [BZOJ] 2427: [HAOI2010]软件安装
  • [C++]C++入门--引用