基础班--day02

1.scanner

package cn.itcast.day02.Scanner;
import java.util.Scanner;
/*
导包:alt+回车-->import class

   Scanner:
     1.概述:Java自带的一个类
     2.作用:可以通过键盘录入的形式,将我们想要的数据录入到代码中,参与运行
     3.怎么使用:
        a.导包:为了找到这个类,使用这个类-->不用我们手动导包,idea自动导包
          在class上面import java.util.Scanner;
        b.创建对象->使用类中的成员
          Scanner 名字 = new Scanner(System.in)
        c.调用Scanner中的方法-->真真正正键盘录入的步骤
          名字.方法名()

          nextInt()-->录入整数
          next()-->录入字符串
*/
public class scanner01 {
    public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
        System.out.println("请您输入:");
      //String字符串 s= sc.next();
         int s = sc.nextInt();
        System.out.println(s + 1);
    }
}

package cn.itcast.day02.Scanner;

import java.util.Scanner;

/*
  和尚升级版:
      键盘录入的形式确定三个和尚的身高  获取最高的和尚

      步骤:
         1.导包-->idea自动导
         2.创建Scanner对象
         3.调用nextInt方法给三个和尚身高,连续调用3次nextInt方法
         4.利用三元运算符,比较前两个数的大小,获取大的
         5.拿着大的再和第三个比较,再拿大的
   */
public class scanner02三个和尚 {
      public static void main(String[] args) {
          //创建对象
          Scanner sc =new Scanner(System.in);
          System.out.println("请您输入第一个和尚的身高:");
         int heshang1= sc.nextInt();
          System.out.println("请您输入第二个和尚的身高:");
          int heshang2= sc.nextInt();
          System.out.println("请您输入第三个和尚的身高:");
          int heshang3= sc.nextInt();
          //利用三元运算符
         int temp= heshang1>heshang2?heshang1:heshang2;
         int result=temp>heshang3?temp:heshang3;
          System.out.println("身高最高的和尚为:"+result+"cm");
      }
}

2.三元运算符

package cn.itcast.day02.三元运算符;
/*
三元运算符:
      1.格式
         boolean表达式?表达式1:表达式2
      2.执行流程
         a.走boolean表达式
         b.如果是true,走?后面的表达式1
         c.否则,直接走:后面的表达式2
*/
public class sy1 {
    public static void main(String[] args) {
        int i =10;
        int j =20;
        //需求:将两个变量较大的值取出来
       int result= i>j?i:j;
        System.out.println("i和j之间较大的值是"+result);

    }
}

package cn.itcast.day02.三元运算符;
  /*
    需求:定义一个变量,表示分数
       判断这个分数是否及格
     分析:1,定义一个变量,赋值
          2,和60进行比较
              如果大于60,返回及格
              否则,不及格
   */
public class sy2是否及格 {
      public static void main(String[] args) {
          int score = 59;
          String result = score>=60?"及格":"不及格";
          System.out.println(result);
      }
}

package cn.itcast.day02.三元运算符;
 /*
  定义三个变量,获取最大值
  步骤:
  1,定义三个变量,分别赋值
  2,先用前两个比较,拿较大的值
  3,拿这个最大的值,和第三个比较,取较大的
 */
public class sy3比较最大值 {
     public static void main(String[] args) {
         int i = 150;
         int j =210;
         int k =165;
        int temp= (i>j)?i:j;
        int result= (temp>k)?temp:k;
         System.out.println("三个数中最大值为:"+result);
     }
}

package cn.itcast.day02.三元运算符;
/*
 三个和尚:
       需求:  有三个和尚,身高分别为  165  150  210  ,求出身高最高的和尚

       步骤:
          两两比较,拿较大的
          拿着较大的跟第三个去比较,再拿最大的
* */

public class sy4和尚 {
    public static void main(String[] args) {
        int heshang1 =165;
        int heshang2 =150;
        int heshang3 =210;
       int temp= heshang1>heshang2?heshang1:heshang2;
       int max= temp>heshang3?temp:heshang3;
        System.out.println("三个和尚身高最高的是:"+max);
    }
}

3.分之语句

package cn.itcast.day02.分之语句;
/*
   if

     1.格式:
       if(boolean表达式){
          执行语句
       }
     2.执行流程:
       走if后面的boolean表达式,如果是true,走if后面大括号的执行语句

     3.使用场景:
        一种情况比较
 */
public class Demo01If {
    public static void main(String[] args) {
        int i =30;
        if (i>20){
            System.out.println("我爱你");
        }
        System.out.println("我恨你");
    }
}

package cn.itcast.day02.分之语句;
/*
     if...else

     1.格式:
        if(boolean表达式){
          执行语句1
        }else{
          执行语句2
        }
     2.执行流程:
        a.先走if后面的boolean表达式
        b.如果是true,走if后面的执行语句1
        c.否则,走else后面的执行语句2
     3.使用场景:
        2种情况
 */
public class Demo02IfElse {
    public static void main(String[] args) {
        int i =10;
        int j =20;
        if(i==j){
            System.out.println("i 和j相等");
        }else{
            System.out.println("i和j不相等");
        }
    }
}

package cn.itcast.day02.分之语句;
/*
  需求判断一个整数的奇偶性
 */
public class Demo03IfElse判断奇偶 {
    public static void main(String[] args) {
        int i =101;
        if(i%2==0){
            System.out.println("偶数");
        }else{
            System.out.println("奇数");
        }
    }
}

package cn.itcast.day02.分之语句;

/*
   else if

   1.格式:
      if(boolean表达式){
        执行语句1
      }else if(boolean表达式){
        执行语句2
      }else if(boolean表达式){
        执行语句3
      }...else{
        执行语句n
      }
   2.执行流程:
      a.走if,判断,如果是true,走if后面的执行语句1
      b.如果是false,接着走else if,接着判断,如果是true,走对应的执行语句2
      c.如果是false,接着走下面的else if判断
      d.如果以上所有的判断都没有成立,走else后面的执行语句n
   3.使用场景:
      2种情况以上
 */
public class Demo04ElseIf {
    public static void main(String[] args) {
      int i =10;
      int j =20;
      if(i>j){
          System.out.println("i大于j");
      }else if (i<j){
          System.out.println("i小于j");
      }else{
          System.out.println("i等于j");
      }
    }
}

package cn.itcast.day02.分之语句;

import java.util.Scanner;

/*
   小明已经期末考试了,他爹答应他考什么样的分数,就给什么奖励

   100-90   奖励带小明去日本小电影基地亲身体验
   80-89    奖励小明日本小电影网站十个(3D)
   70-79    奖励小明日本小电影光碟一张
   60-69    给一个么么哒
   60以上    一掌拍死

 */
public class Test考试奖励 {
    public static void main(String[] args) {
        //创建Scanner对象
        Scanner sc =new Scanner(System.in);
        System.out.println("请你输入分数:");
        int sore =sc.nextInt();
        //判断
        if(sore>=90&&sore<=100){
            System.out.println("奖励带小明去日本小电影基地亲身体验");
        }else if (sore>=80&&sore<=89){
            System.out.println("奖励小明日本小电影网站十个(3D)");
        }else if (sore>=79&&sore<=70){
            System.out.println("奖励小明日本小电影光碟一张");
        }else if (sore>=69&&sore<=60){
            System.out.println("给一个么么哒");
        }else if (sore>=100||sore<=0){
            System.out.println("分数错误");
        } else {
            System.out.println("一掌拍死");
        }
    }
}

4.字符串操作

package cn.itcast.day02.字符串操作;
/*
   字符串的"+"操作
*/
public class zfc1 {
    public static void main(String[] args) {
        System.out.println("it" + "heima");
        System.out.println("heima" + "it");
        System.out.println("666" + "heima");
        System.out.println("黑马" + "666");
        System.out.println( 1 + 99 + "黑马");
    }
}

package cn.itcast.day02.字符的操作;
/*
  字符的"+"操作
*/
public class zf1 {
    public static void main(String[] args) {
        //定义两个变量
        int i =10;
        char c = 'A';//'A'的值是65
        c = 'a';//'a'的值是97
        c = '0';//'0'的值是48
        System.out.println(i + c);
        //char ch = i + c;
        //char类型会被自动提升为int类型
        int j = i + c;
        System.out.println(j);
        //int k = 10+ 13.14;
        double d = 10 +13.14;
        System.out.println(d);

    }
}

5.数据类型

package cn.itcast.day02.数据类型;
/*
按照数据类型的取值范围从小到大排序
    byte,short,char-->int-->long-->float-->double

    整数默认类型:int
    小数默认类型:double

    数据类型转换:
       1.什么时候发生:当等号左右两边的数据类型不一致
       2.分两种:
           自动类型转换
               取值范围大的数据类型 变量名 = 取值范围小的数据类型
           注意:当小的类型和大的类型做运算的时候,小的类型会自动提升为大的类型

           强制类型转换(强转)
               取值范围小的数据类型 变量名 = 取值范围大的数据类型-->报错,需要我们强转

               取值范围小的数据类型 变量名 = (取值范围小的数据类型)取值范围大的数据类型

     注意事项:
        1.不要随便使用强转,容易出现精度损失,数据溢出
        2.byte,short如果等号右边是常量,或者是常量运算,如果没有超出范围,不会报错-->jvm的优化
        3.byte,short如果等号右边有变量,或者int型的变量参与运算了,会自动提升为int型,需要强转
        4.char类型如果提升为int型之后,会去一个码表中查询字符对应的int值(ASCII码表-->unicode码表(万国码))
 */
public class 数据类型转换1 {
    public static void main(String[] args) {
        /*
           100是整数,默认类型是int;将int型的100赋值给了long型的变量l
           是将取值范围小的数据类型赋值给了取值范围大的数据类型
           发生了自动类型转换
         */
        long l = 100;
        System.out.println(l);


        /*
           100L属于long型,变量b属于double型,将long型的100赋值给了double型的变量b
           是将取值范围小的数据类型赋值给了取值范围大的数据类型
           发生了自动类型转换
         */
        double b = 100L;
        System.out.println(b);

        double sum = 100+2.5;
        System.out.println(sum);
        System.out.println("------------以下是强转----------");
        /*
            2.5默认类型是double,将double的2.5赋值给了float型的f
            是将取值范围大的数据类型赋值给了取值范围小的数据类型
            报错,需要强转
         */
        //float f = 2.5;
        float f = (float) 2.5;

        int i = (int)2.9;
        System.out.println(i);

        int j = (int) 100L;

        /*
           int  转成二进制:  32位二进制
           100亿:36位二进制

           多出的4位会自动干掉
         */
        int x = (int)10000000000L;
        System.out.println(x);//1410065408

        byte b1 = 10;
        /*
           byte+int-->int+int
         */
        byte sum1 = (byte)(b1+100);

        int c = 'A'+0;
        System.out.println(c);

    }
}

6.比较运算符

package cn.itcast.day02.比较运算符;
/*
 比较运算符,输出的是true和false

 ==  针对基本数据类型,比较的是值是否相同
     针对引用数据类型,比较的是地址值
*/
public class gx1 {
    public static void main(String[] args) {
        //定义变量
        int i =10;
        int j =20;
        int k =10;
        //==是否相等,相等输出true,不相等输出false
        System.out.println(i == j);
        System.out.println(i == k);
        System.out.println("----------------");
        //!==
        System.out.println(i != j);
        System.out.println(i != k);
        System.out.println("---------------");
        //>
        System.out.println(i > j);
        System.out.println(i > k);
        System.out.println("---------------");
        //>=
        System.out.println(i >= j);
        System.out.println(i >= k);
        System.out.println("---------------");
        //不小心把==写成了=
        //把j的值赋值给i,然后输出i的值
        System.out.println(i = j);
    }
}

7.短路运算符

package cn.itcast.day02.短路运算符;
/*
   短路逻辑运算符
*/
public class dl1 {
    public static void main(String[] args) {
        //定义变量
        int i = 10;
        int j = 20;
        int k = 30;
        //&& 有false则false
        System.out.println((i > j)&& (i > k));//false && false
        System.out.println((i < j)&& (i > k));//true && false
        System.out.println((i > j)&& (i< k));//false && ture
        System.out.println((i <j)&& (i <k));//ture && ture
        System.out.println("------------------------");
        //|| 有true则true
        System.out.println((i > j)|| (i > k));//false || false
        System.out.println((i < j)|| (i > k));//true || false
        System.out.println((i > j)|| (i< k));//false || ture
        System.out.println((i <j)|| (i <k));//ture || ture
        System.out.println("------------------------");
        //&&&
        //&无论真假,左右都要实行
        //&&如果左边为真,右边执行;如果左边为假,右边不执行
       // System.out.println((i++> 100) & (j++> 100));//false & false
      System.out.println((i++> 100) && (j++> 100));//false && false
        System.out.println("i:"+i);
        System.out.println("j:"+j);
        //||如果左边为假,右边执行;如果左边为真,右边不执行

    }
}

8.算数运算符

package cn.itcast.day02.算术运算符;
/*
   算术运算符
*/
public class ys1 {
    public static void main(String[] args) {
        //定义两个变量
        int a = 6;
        int b = 4;
        System.out.println(a + b);
        System.out.println(a - b);
        System.out.println(a * b);
        System.out.println(a / b);
        System.out.println(a % b);

        //除法得到的是商,取余得到是余数


        //整数相除只能得到整数,要得到小数,必须有浮点的参与
        System.out.println(6.0 / 4);
    }
}

9.自增自减运算符

package cn.itcast.day02.自增自减运算符;
/*
   自增自减运算符
 */
public class zj1 {
    public static void main(String[] args) {
        //定义变量
        int i = 10;
        System.out.println("i:"+ i);
         //单独使用,效果一样
         // i++;
         //++i;
         //System.out.println("i:" + i);
         //参与操作使用,++在变量前,先拿变量做++,再操作
         //           ++在变量后,先操作,再拿变量做++
         //int j = i++;
        int j = ++i;
        System.out.println("i:" + i);
        System.out.println("j:" + j);
    }
}

10.赋值运算符

package cn.itcast.day02.赋值运算符;
/*
   赋值运算符
*/
public class fz1 {
    public static void main(String[] args) {
        //把10赋值给int类型的i
        int i =10;
        System.out.println("i:"+i);
        //+=把左边和右边的数据做加法操作,结果赋值给左边
        i += 20;
       // i = i + 20;
        System.out.println("i:" + i);
        //注意:扩展的赋值运算符底层隐含了强制类型转换
        short s = 10;
        //s += 20;
        s = (short)(s + 20);
        System.out.println("s:" + s);
    }
}

11.逻辑运算符

package cn.itcast.day02.逻辑运算符;
/*
    逻辑运算符
*/
public class lj1 {
    public static void main(String[] args) {
        //定义变量
        int i =10;
        int j =20;
        int k =30;
        //&(与) 有false则false
        System.out.println((i > j)&(i > k));//false & false
        System.out.println((i < j)&(i > k));//true & false
        System.out.println((i > j)&(i< k));//false & ture
        System.out.println((i <j)&(i <k));//ture & ture
        System.out.println("------------------------");
        //|(或) 有true则true
        System.out.println((i > j)|(i > k));//false | false
        System.out.println((i < j)|(i > k));//true | false
        System.out.println((i > j)|(i< k));//false | ture
        System.out.println((i <j)|(i <k));//ture | ture
        System.out.println("------------------------");
        //^(异或)相同为false,不同为true
        System.out.println((i > j)^(i > k));//false ^ false
        System.out.println((i < j)^(i > k));//true ^ false
        System.out.println((i > j)^(i< k));//false ^ ture
        System.out.println((i <j)^(i <k));//ture ^ ture
        System.out.println("------------------------");
        //!
        System.out.println(i > j);//false
        System.out.println(!(i > j));//!false
        System.out.println(!!(i > j));//!!false
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值