java day3

Posted on 2019-11-22 03:20  五道口土匪头子  阅读(125)  评论(0)    收藏  举报

***********************************************************************************************
回顾上次课所讲内容
1.
  javac Hello.java
  java Hello
2.注释
3.public class与class区别
4.变量和数据类型
***********************************************************************************************
今天所讲内容
1.数据类型以及类型之间的转换
2.运算符
  算术运算符、连接运算符、赋值运算符、关系运算符、逻辑运算符、三目运算符
3.键盘接收用户输入
***********************************************************************************************
单词
import 导入
Scanner扫描仪
***********************************************************************************************
1.变量的分类:
  1.1变量按作用范围分为:
    局部变量:在方法中声明
    成员变量:在类中声明
  1.2变量按数据类型分为:
    基本数据类型变量,在内存中存放真正的值,如:int double char......
    引用数据类型变量,在内存中存放的是地址(引用),如:String.....


2.基本数据类型
  又分为四大类,共计八种
  整数类型:byte short int long
    注意:1.默认为int类型
    2.byte取值范围-128 ----- +127,占1个字节
    short取值范围-32768 ---- 32767,占2个字节
    int取值范围-2的31次方 ----- +2的31次方-1,占4个字节
    long取值范围-2的63次方 ---- +2的63次方-1,占8个字节
    3.在Java中,当对byte short char类型进行赋值时,如果没有超出当前类型的取值范围,则可以直接赋值
    4.long a = 6; //构成自动类型转换
  浮点类型:float double
    注意:1.浮点类型中默认为double类型
    2.float取值范围-3.403E38 ----- +3.403E38,占4个字节
    double取值范围-1.798E308 ----- +1.798E308,占8个字节
    3.
    float x = 3.5; //注意:在Java中,值是小数是默认为double类型,取值范围大的不能直接给取值范围小的赋值,因此出现编译错误
    //解决办法:第一种方法,值为float类型,因此在值的后面添加f/F
    //float x = 3.5f;
    //解决办法:第二种方法,将值double类型强制转为float类型,因此称为强制类型转换
    float x = (float)3.5;
    System.out.println("x = " + x);
  字符类型:char
    注意:1.一次只能存放一个字符,并且使用英文单引号引起来
    2.一个汉字表示一个字符
    3.一个字符在内存中占2个字节,取值范围0---65535
    4.将整数值与字符类型的值进行相互转换
  布尔类型boolean
    注意:1.只有两个取值,分别是true、false
    2.占1个字节
3.基本数据类型之间转换
  ---除了基本数据类型boolean类型以外,剩余的7种数据类型之间都可以相互转换
  ---当取值范围小的类型赋给取值范围大的类型,则构成自动类型转换也叫做隐式类型转换
    byte short char int long float double
  ---当取值范围大的类型不能直接给取值范围小的赋值,则必须进行强制类型转换也叫做显式类型转换
    注意:当进行强制类型转换或显式类型转换时,可能存在精度有丢失
  ---当对byte short char类型赋值时,如果没有超出该类型的取值范围,可以直接赋值
    byte a = 1;
    short b = 10010;
    char c = 1234;
  ---当对byte short char类型进行混合运算符时,则先转为int类型,然后再进行计算
  ---当所有进行混合运算时,则先转为取值范围大的类型,然后再进行计算
4.运算符
  4.1算术运算符
    + - * / %(求取余,取模) ++ --
    4.1.1 +
      注意:1.当两个操作数都是数值类型,则做加法运算
         2.当两个操作数中有一个为非数值类型,则做连接,最终为字符串类型
    4.1.2 -
      注意:1.当做减法运算符时,必须两个操作数都是数值类型
    4.1.3 *
    4.1.4 /除法
    4.1.5 %
    4.1.6 ++
      ++表示自身加1
      ++又分为前置和后置
      1.前置:将++编写在变量名称前面,先自身加1,然后再做其他运算
        int a = 3;
           int b = ++a; //a = 4 b = 4
      2.后置:将++编写在变量名称后面,先做其他运算,然后再自身加1
        int x = 5;
        int y = x++;
    4.1.7 --
  4.2连接运算符
    +作用:求和,连接
  4.3赋值运算符
    =将右侧的值赋给左侧的变量名称

    扩展的赋值运算符
    += -= *= /= %=
    注意:扩展的赋值运算符最终结果的类型没有发生改变
  4.4关系运算符
    > < >= <= == !=
    总结:1.优先级别:算术运算符 > 关系运算符
    2.关系运算符最终结果为boolean类型的值
  4.5逻辑运算符
    逻辑与& 逻辑或| 逻辑异或^ 逻辑非!
    短路与&& 短路或||
    4.5.1逻辑与&
      表示并且
      总结:当两个条件都为true时,则结果就为true,否则就为false
    4.5.2逻辑或|
      表示或者
      总结:当两个条件有一个为true时,则结果为true,否则就为false
    4.5.3逻辑异或
      true ^ true ---->false
      true ^ false --->true
      false ^ true --->true
      false ^ false -->false
    4.5.4逻辑非!
      表示对boolean类型的值进行取反
    4.5.5短路与&&
      类似于逻辑与,都表示并且
    4.5.6短路或||
      类似于逻辑或,都表示或者
  总结:逻辑运算符最终结果为boolean的值
  4.6三目运算符也叫做条件运算符
    String s = 10 > 0 ? "大于" : "不大于";
    System.out.println(s);
5.键盘接收用户输入
  5.1键盘接收用户输入操作步骤
    第一步:导入包,必须编写在java源文件中第一行
      import java.util.Scanner;
    第二步:创建Scanner对象
      Scanner input = new Scanner(System.in);
    第三步:给友好提示
      System.out.print("请输入一个数:");
    第四步:键盘输入
      int a = input.nextInt(); //注意:当程序运行后等待用户接收键盘输入一个整数值,按回车键则表示输入完毕,并将回车之前所有输入的内容赋给左侧的变量
      double b = input.nextDouble();
      boolean c = input.nextBoolean();

      String name = input.next(); //注意:在Java中,键盘接收字符串类型并没有nextString(),而使用next()

      String s = input.next(); //注意:在Java中,键盘不能直接接收字符类型,先接收字符串类型,然后在字符串中获取第0个位置中的值,通过charAt(0)
      char sex = s.charAt(0);

 

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3