字符输入

 
Scanner scan = new Scanner(System.in);
char ch = scan.next().charAt(0);
 
车到路口例
 
package Chapter3_2;
 
import java.util.Scanner;
 
public class Chapter3_2 {
 
     public static void main(String[] args) {
          // TODO Auto-generated method stub
          Scanner scan = new Scanner(System.in);
          System.out.println("已到路口请输入");
          char ch = scan.next().charAt(0);
          if (ch == '红') {
              System.out.println("stop");
          } else if (ch == '黄') {
              System.out.println("wait");
          } else if (ch == '绿') {
              System.out.println("go");
          } else {
              System.out.println("call police");
          }
 
     }
 
}
1.2进制、8进制、16进制和10进制的转化
    1.进制位的介绍 
        二进制:0、1 
        八进制:0、1、2、3、4、5、6、7
        十进制:0、1、2、3、4、5、6、7、9 
        十六进制:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
        01   1
    2.2进制和10进制的相互转化
        二进制转化成十进制要从右到左用二进制的每个数去乘以2的相应次方,不过次方要从0开始,例如:
        1101(2)=1*2^0 + 0*2^1 + 1*2^2 + 1*2^3 = 1+0+4+8 = 13(10)
 
 
        十进制转化成二进制:
        整数部分:“除2取余,逆序排列”
        小数部分:“乘2取整,顺序排列”
 
        例如:982(10)转化为二进制的过程:
        982/2 = 491余   0    (第10位)
        491/2 = 245余   1    (第9位)
        245/2 = 122余   1    (第8位)
        122/2 = 61 余   0    (第7位)
        61/2  = 30 余   1    (第6位)
        30/2  = 15余    0    (第5位)
        15/2  = 7  余   1    (第4位)
        7/2   = 3 余    1    (第3位)
        3/2   = 1余     1    (第2位)
        1/2   = 0 余    1       (第1位)
        所以:982(10) = 1111010110(2)
 
        例如:0.625(10)转化为二进制的过程:
        0.625*2=1.25——————取出整数部分1
          0.25*2=0.5————————取出整数部分0
          0.5*2=1 ——————————取出整数部分1
        所以0.625(10) = 0.101
 
    3.练习:将19和0.125(10)转化成2进制格式
        19/2  9 1
        9/2   4 1
        4/2   2 0
        2/2   1 0
        1/2   0 1
 
        10011 
 
        0.125  *  2 0.25   0
        0.25 * 2     0.5   0
        0.5   * 2    1     1
 
 
 
         将10101010转化为10进制格式
 
        0
 
    4.八进制、十六进制转十进制
        定义:二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相加之和便是相应的十进制数。
        例如:将八进制127657(8)转成十进制:
            7*8^0+5*8^1+6*8^2+7*8^3+2*8^4+1*8^5 = 44975
 
        练习:将十六进制 9DF(16)转化为十进制 
 
 
    5.十进制转八进制、十六进制
        定义:整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数部分拼接成一个数作为转换的最后结果。
        例如:299(10)转十六进制
        299/16 = 18  余  11(B)
        18/16  = 1     余  2
        1/16   = 0     余  1
 
        所以299(10) = 12b(16)
 
        练习:2012转成8进制
 
 
 
2.运算符
    1.算数运算符 + - * / %(取模)
        5 % 2 = 1
        3 % 5=3
        5/2=2
        5.0/2=2.5
 
 
        注意:算数运算符运算的结果精度以运算符两边高精度的精度为准
        比如,Double d = 3.0 , int i = 3;   i和d做算术运算的结果为Double类型
        低——>高
        byte short int long float double
 
    2.自增自减运算符  ++ --
    3.赋值运算符 = 、 +=、 -= 、 *= 、 /=
    4.关系运算符  > 、 < 、 == 、 !=  、  <= 、 >=  (结果是布尔类型)
 
    5.位运算符  & | ~  ^  (按位与、或、非、异或)
      "位" = 2进制位,所以位运算即
      二进制运算
         异或加密的概念
 
    6.逻辑运算符  &(逻辑与) |(逻辑或)  &&(短路与)  ||(短路或)  !(逻辑非)
        重点:ShortCircuit.java  (短路或与逻辑或的区别)
        练习:短路与和逻辑与的区别
 
    7.移位运算符 << (左移)  >>(右移)
 
        2的3次方,用最高效的方法得到结果   
        0010(2) << 2 1000(8)
 
    8.三目运算符
        讲解
        练习:键盘输入一个数字,如果数字小于60,输出"不及格",否则,输出"通过了考试"
 
 
2.表达式
    1.运算表达式   3+6 、 x-y 、 i*j
    2.赋值表达式   int i = 3;
    3.关系(布尔)表达式   4>3 、i!=20 、
    4.逻辑表达式((i+1)==2&&i<3)   
 
 
3.总结:
    1.二进制、八进制、十六进制、十进制转换
    2.算数运算符、自增减运算符、    赋值运算符、关系运算符、位运算符、逻辑运算符、移位运算符、三目运算符
 
 
 
/*
    顺序:
    选择: if    switch
    循环:while   do-while   for
*/
 
 
3.if语句 、    if...else...语句、     if ... else if ... else 语句
       1.考试成绩要出来了,根据获得的考试成绩,判断学生是否及格,60分以下需要提示:“同学,你的成绩不及格”
       2.同上,60分以上提示:“同学,你及格了”;60分以下需要提示:“同学,你的成绩不及格”
      3.同上,要求输出优秀、优良、中等、不及格(90以上、80-90、60-80、60以下)
      *练习:开车到了十字路口,输入 红、绿、黄,其他(任意字符),输出结果为:
      “stop”、“go”、“wait”、“call police”
      //String str = scan.next();
    //char c = str.charAt(0);
    String str=scan.next();“黄”
    char ch=str.charAt(0);
 
 
4.switch开关(分支)语句
    1.语法介绍
    2.switch括号里的数据类型:byte、short、int、char  (String在JDK7中也支持)
    3.练习,根据输入的月份,输出该月的天数(假设2月28天)
    4.开车到了十字路口,输入 红、绿、黄,其他(任意字符),输出结果为:
    “stop”、“go”、“wait”、“call police”
    不过,当输入红的时候,可以根据路况实际情况(有没有交警?需输入)
    选择执行“stop”(有交警的情况),或者“go”(没有交警的情况) ,
    两个switch嵌套或者switch和if嵌套
    5.break作用
 
 
5.while循环、do——while循环
    1.while循环输出1至100的和
    *练习:1.while循环输出1至100之间所有的奇数之和、偶数之和
          2.while循环输出1至100之间同时能被5和6整除的数
    2.do——while循环输出1至100的和
    *练习:改写上面两个练习
    3.括号里的布尔表达式
 
 
6.for循环
 
 
    1.1至100的和
    *练习: 1.实现while循环的练习
          2.键盘输入一个数字,求它的阶乘
          3.求1至10的阶乘
    2.讲解如下实现
            1
            1    2
            1    2    3
            1    2    3    4
            1    2    3    4    5
            1    2    3    4    5    6
    *练习:小九九
         1*1 = 1
         1*2 = 2  2*2 = 4
         1*3 = 3  2*3 = 6  3*3 = 9
         ...........
 
 
 
7.continue和break在循环中起到的作用
    1.讲解continue实现奇数和 (遇到continue的时候,结束本次循环,直接进入下次循环)
       2.讲解break,从1开始累加,求加到多少的时候累计的和会超过10000  (遇到break,直接跳出理它最近的循环)
       *练习:
           1.求1-100之间所有能被5和6整除的数,用continue来做
           2.求100到200之间所有的素数(除了1和他本身外, 不能被任何数整除的数)
       3.打印半菱形
           *
           ***
           *****
           *******
           *****
           ***
           *
package Chapter5_3;
 
public class Chapter5_3 {
          public static void main(String[] args) {
                   for(int i = 1;i <=4;i++){
                             for(int j = 1;j<=2*i-1;j++){
 
                                      System.out.print("*");
                             }
                             System.out.println();
                   }
 
 
                   for(int i = 3;i >=1;i--){
                             for(int j = 1;j<=2*i-1;j++){
 
                                      System.out.print("*");
                             }
                             System.out.println();
                   }
 
 
          }
 
}
 
    *练习
              *                  *
             ***               * *
            *****            *   *
           *******         *     *
            *****            *   *
             ***               * *
              *                  *
 
 
package Chapter5_4;
 
public class Chapter5_4 {
 
          /**
           * 空心菱形输出
           */
          public static void main(String[] args) {
                   for (int i = 1; i <= 4; i++) {
                             for (int k = 1; k <= 4 - i; k++) {
                                      System.out.print(" ");
                             }
                             for (int j = 1; j <= 2 * i - 1; j++) {
 
                                      if (j == 1 || j == 2 * i - 1) {
                                                System.out.print("*");
                                      } else {
                                                System.out.print(" ");
                                      }
                             }
                             System.out.println();
                   }
 
                   for (int i = 3; i >= 1; i--) {
                             for (int k = 1; k <= 4 - i; k++) {
                                      System.out.print(" ");
                             }
                             for (int j = 1; j <= 2 * i - 1; j++) {
                                      if (j == 1 || j == 2 * i - 1) {
                                                System.out.print("*");
                                      } else {
                                                System.out.print(" ");
                                      }
                             }
                             System.out.println();
                   }
 
          }
 
}
 
    1.一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程   找出1000以内的所有完数。
 
package HomeWork3_1;
 
public class HomeWork3_1 {
 
          /**
           * 一个数如果恰好等于它的因子之和 这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。
           */
          public static void main(String[] args) {
                   int sum = 0;
                   for (int i = 1; i <= 1000; i++) {
                             for (int j = 1; j < i; j++) {
                                      if (i % j == 0) {
                                                sum += j;
                                      }
                             }
                             if (sum == i) {
                                      System.out.println(sum);
                             }
                             sum = 0;
                   }
          }
}
 
 
    2.求1/1!+1/2!+1/3!+...+1/20!的和
 
 
package HomeWork3_2;
 
public class HomeWork3_2 {
 
          /**
           * 求1/1!+1/2!+1/3!+...+1/20!的和
           */
          public static void main(String[] args) {
                   double sum = 0.0, x = 1;
                   for (int j = 1; j <= 20; j++) {
                             x *= j;
                             sum += 1.0 / x;
                   }
                   System.out.println(sum);
          }
 
}
 
 
    3.1-1/2+1/3-1/4+……+1/99-1/100   
 
 
package HomeWork3_3;
 
public class HomeWork3_2 {
 
          /**
           * 1-1/2+1/3-1/4+……+1/99-1/100
           */
          public static void main(String[] args) {
                   double sum=0.0;
                   int flag=-1;
                   for (int i = 1; i <= 100; i++) {
                             flag*=-1;
                             sum+=flag*(1.0/i);
                   }
                   System.out.println(sum);
          }
 
}
 
 
    4.企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,
    低于10万元的部分按10%提成,高于10万元的部分,    可提成7.5%;20万到40万之间时,高于20万元的部分,可
    提成5%;40万到60万之间时高于40万元的部分,可 提成   3%;60万到100万之间时,高于60万元的部分,可提成
    1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
 
 
package HomeWork3_4;
 
import java.util.Scanner;
 
public class HomeWork3_4 {
 
          /**
           * 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,
    低于10万元的部分按10%提成,高于10万元的部分,    可提成7.5%;20万到40万之间时,高于20万元的部分,可
    提成5%;40万到60万之间时高于40万元的部分,可 提成   3%;60万到100万之间时,高于60万元的部分,可提成
    1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
 
           */
          public static void main(String[] args) {
                   Scanner scan = new Scanner(System.in);
                   System.out.println("请输入当月利润(单位:万元)");
                   int a=scan.nextInt();
                   if(a<=10){
                             System.out.println("奖金为:"+(a*0.1)+"万元");
                   }else if(a<=20){
                             System.out.println("奖金为:"+(1+(a-10)*0.075)+"万元");
                   }else if (a<=40) {
                             System.out.println("奖金为:"+(1.0+0.75+(a-20)*0.05)+"万元");
                   }else if (a<=60) {
                             System.out.println("奖金为:"+(1.0+0.75+1+(a-40)*0.03)+"万元");
                   }else if (a<=100) {
                             System.out.println("奖金为:"+(1.0+0.75+1+0.6+(a-60)*0.015)+"万元");
                   }else if (a>=100) {
                             System.out.println("奖金为:"+(1.0+0.75+1+0.6+0.6+(a-100)*0.01)+"万元");
                   }
          }
 
}
 
 
    5.题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222
    (此时共有5个数相加),几个数相加由键盘控制
 
 
package HomeWork3_5;
 
import java.util.Scanner;
 
public class HomeWork3_5 {
 
          /**
           * 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222
           * (此时共有5个数相加),几个数相加由键盘控制
           */
          public static void main(String[] args) {
 
                   Scanner scan = new Scanner(System.in);
                   int a = 0, b = 0, sum = 0;
                   while (a <= 0 || a > 9) {
                             System.out.println("请输入要求和的数(大于0小于10)");
                             a = scan.nextInt();
                             b = a;
                             if (a <= 0 || a > 9) {
                                      continue;
                             } else {
                                      break;
                             }
                   }
                   System.out.println("请输入最大值得位数(大于0小于10)");
                   int k = scan.nextInt();
                   sum += a;
                   for (int i = 2; i <= k; i++) {
                             a *= 10;
                             a += b;
                             sum += a;
                   }
                   System.out.println(sum);
          }
 
}
 
 
 
    6.求全部水仙花数。所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。如:153 = 1的三次方 + 5的三次方+ 3的三次方。
 
 
package HomeWork3_6;
 
public class HomeWork3_6 {
 
          /**
           *
           * 求全部水仙花数。所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。
           * 如:153 = 1的三次方 + 5的三次方+ 3的三次方
           */
          public static void main(String[] args) {
                   int l,m,n,a;
                   for (int i = 100; i < 999; i++) {
                             a=i;
                             l=a%10;
                             a/=10;
                             m=a%10;
                             n=a/10;
                             if(i==(l*l*l+m*m*m+n*n*n)){
                                      System.out.println(i);
                             }
                   }
          }
 
}
 
 

Java03的更多相关文章

  1. java03实验截图

  2. java03变量和基本数据类型

    /** * * 失去一日甚易,欲得回已无途! * * 关键字:java中的关键字 就是指 已经被定义了的单词! * 我们就不能再拿关键字 作为我们的变量名! * 常用的关键字: * 基本数据类型: * ...

  3. Java03动手动脑

    1.当JAVA里定义的函数中去掉static后,怎么办? static代表静态,由于main函数是静态的,如果自己定义的函数方法加了static则在类加载时就一起加载了.但如果不写static,就必须 ...

  4. java-03 变量与运算符

    1.java中的变量与常量 1.1 变量的定义: 变量,顾名思义就是会变的量,这种思想来源于数学,指的是一个不确定的量或者随时会改变的量. 在我们进行编程的过程中,有一些东西是会随着实际情况而发生变化 ...

  5. java-03方法课堂练习

    1.java中利用static(静态),将方法放入类中.如果不加static,必须先实例化出来一个类,之后再通过实例化类名+方法的形式调用. 2.编写一个方法,使用以上算法生成指定数目(比如1000个 ...

  6. java-03 方法

    #############练习###################### 1.键盘录入乘法表 import java.util.Scanner; public class PrintNN { pub ...

  7. 重新梳理IT知识之java-03循环

    引用变量时要给变量赋值,如果循环进不去就会报错. 一.循环结构的四要素 1.初始化条件 2.循环条件 ---> 是Boolean类型 3.循环体 4.迭代条件 说明:通常情况下,循环结束都是因为 ...

  8. java03类与对象相关问题

    1.使用类的静态字段和构造函数,可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向他查询"你已经创建了几个对象" 1 package 第四五周; 2 3 public ...

  9. 2022-07-15 第六组 润土 Java03数据结构学习笔记

    数据结构: 数组:最基本的数据结构(线性表) 链表:单向链表,双向链表 树:二叉树 图:深度优先遍历.广度优先遍历 查找: 线性查找 折半查找 排序: 冒泡排序* 快速排序 插入排序* 选择排序* 希 ...

随机推荐

  1. [Unity][Heap sort]用Unity动态演示堆排序的过程(How Heap Sort Works)

    [Unity][Heap sort]用Unity动态演示堆排序的过程 How Heap Sort Works 最近做了一个用Unity3D动态演示堆排序过程的程序. I've made this ap ...

  2. 更新Literacy

    之前都没有做单元测试的啊 昨天离职了,闲着没事做了个单元测试,结果发现一堆问题....大部分都是关于值类型在IL中的操作问题... 这件事让我感觉蛋蛋隐隐发疼....以后一定要做单元测试啊.... 具 ...

  3. 【VC++技术杂谈006】截取电脑桌面并将其保存为bmp图片

    本文主要介绍如何截取电脑桌面并将其保存为bmp图片. 1. Bmp图像文件组成 Bmp是Windows操作系统中的标准图像文件格式. Bmp图像文件由四部分组成: (1)位图头文件数据结构,包含Bmp ...

  4. Html5 设置菱形链接菜单

    本例是采用html5+css3.0设置的菜单链接.其中主要用到了以下几个方面: 1. CSS3.0中的2D变换,如:旋转transform:rotate(45deg);移动,放大transform:r ...

  5. rem与px的转换

    rem与px的转换 引用自http://caibaojian.com/rem-and-px.html A-A+ 前端博客•前端开发教程•rem•3702View0 rem是相对于根元素<html ...

  6. HTML5_02之视频、音频、Canvas

    1.HTML5新特性之视频播放--video: ①例:<video src=""></video> ②video标签默认为300*150的inline-bl ...

  7. SQL之case when then用法

    case具有两种格式.简单case函数和case搜索函数. 按 Ctrl+C 复制代码 这两种方式,可以实现相同的功能.简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限 ...

  8. thinkPHP入门

    什么是框架 框架就是一定结构的代码,框架提供一个开发web程序的基础架构以及常用的功能 代码,PHP框架的web程序开发拜倒了流水线上. php框架就是一定要按别人规定好的架构编写. php开发框架有 ...

  9. 搜狗输入法wp风格皮肤

    换了个nexus 发现输入法真的没有wp的好用 没办法,刚好搜狗输入法有定制皮肤的选项,所以自己做了个wp风格的输入法皮肤. 一点微小的工作 http://pan.baidu.com/s/1kVsHd ...

  10. webpack进阶构建项目(一)

    webpack进阶构建项目(一) 阅读目录 1.理解webpack加载器 2.html-webpack-plugin学习 3.压缩js与css 4.理解less-loader加载器的使用 5.理解ba ...