变量 数据类型转换 运算符 Scannner

目录
    ①变量
    ②Java数据类型
    ③标识符(命名)
    ④变量的注意事项
    ⑤数据类型转换
    ⑥运算符
    ⑦Scanner类
    
①变量
    定义:在程序执行的过程中,在某个范围内其值可以发生改变的量;
    本质:用来存放数据的一小块内存空间
    理解:1.用来存放数据
              2.数据内容可以改变
              3.一次只能存放一个数据
              4.可根据变量名称使用数据
              5.存放的数据必须满足数据类型的要求
        根据格式定义变量
        【格式一: 分步
                1.创建一个变量        数据类型 变量名称;     String str ;
                2.向变量中赋值        变量名称 = 数据值;      str="楠哥";
        【格式二:一步】
                1.创建同时赋值           数据类型 变量名称 = 数据值;      String str = "楠哥" ;
    注意
          变量赋值 :变量值的复制
         对象赋值 :地址值(指针)的改变——共同管理对象
         
②Java数据类型
    基本数据类型(四类八种)——存的是 数值
        整数类型:    byte            1个字节            -128~127         ( 01111111 )第一位表示正负0正1负
                             short           2个字节            -32768~32767
                             int               3个字节            -21亿~21亿
                             long            4个字节             天文数字
        浮点类型:    float            4个字节            -3.403E38~3.403E38(因为是科学计数法,即使4个字节也比long的范围大)
                             double        8个字节            -1.798E308~1.798E308
         字符型:       char             2个字节             表示一个空格('A'、'中'、'0')    不能为空而字符串就可以
        布尔型:       boolean       1个字节             只有两个值 true or false
        注意事项
            A : 整数默认是int类型,浮点数默认是double
            B : 定义long类型数据的时候,要加L或者l,建议加L
                 定义float类型数据的时候,要加F或者f,建议加F
            C : Java中的字符采用的是Unicode字符集,每一个字符占用两个字节,就可以存储一个汉字
            D : boolean类型适用于逻辑运算,一般用于流程控制

    引用数据类型——存的是 地址
        字符串、类、接口、数组、枚举…

③标识符(命名)
    给包,类,方法,变量等起名字
        (1)组成规则(硬性规定)
            由字符, 下划线_ 美元 符$组成;这里的字符采用的是Unicode字符集.
        (2)注意事项(硬性规定)   不能以 数字 开头;不能是Java中的关键字.
        (3)命名规则(软性建议)    基本要求:见名知意

            包 (其实就是文件夹,用于对类进行管理)
            全部小写,多级包用点隔开。公司域名的反写。
            cn.yaojianan       (相当于两级文件夹:cn\yaojianan
            com.wangjie       (相当于两级文件夹:com\wangjie)
            
            类 (大驼峰)
            一个单词首字母大写    Student    Car
            多个单词,每个单词首字母大写    HelloWorld
            
            变量 或者 方法 (小驼峰)
            一个单词首字母小写    age    show()
            多个单词,从第二个单词开始每个单词首字母大写    maxAge    getAge()

④变量的注意事项
    (1)变量一定要进行赋值才能使用,不赋值不能使用。
    (2)变量只有在自己所属的作用域内才有用,超出 作用域 ,不可用。    作用域:从定义的一行开始,一直到大括号最后的结束。(成员变量,局部变量
    (3)可以使用一个步骤(一行)定义多个变量,但一般不推荐这么写。     int a = 10,b=20;

⑤数据类型转换
    (1)自动类型转换(隐式)
                特点:代码不需要进行特殊处理,自动完成。
                原则要求:从数据范围小的类型,自动转为数据范围大的类型(从小到大)
                转换规则:转换规则byte,short,char—int—long—float—double
    (2)强制类型转换(显式)
                特点:代码需要进行特殊处理,不能够自动完成。
              【处理格式】:范围小的类型    范围小的标量名称 = (范围小的类型) 原本范围大的变量或数值;
            注意事项
                1.强制类型转换不推荐使用,因为有可能发生 精度损失 (小数变整数,小数点后面的部分可能会直接被省略掉)、数据溢出(装不下强行装) (编译不报错)
                2.byte short char 都可以发生运算!三者在发生运算的时候都会首先自动提升为int,然后在计算!
                3. boolean 不能发生任何数据类型的转换!
             
⑥运算符
    运算符:对常量和变量进行操作的符号
    表达式:用运算符把常量或者变量连接起来符合java语法的式子
    
    一、算术运算符(+,-,*,/,%)
        算术运算符中游四则运算加法 +,减法 -,乘法 *,除法 /,取模%(只看余数不看商)
        注意事项
        (1)对于整数来说,除法得到的结果就是整数,只看商,不看余数。
        (2)一旦有小数参与运算,那么的结果就是小数。
        (3)对于byte/short/char三者来说 : 右侧没有超出左侧的范围:编译器会隐藏添加相应的(byte)(short)(char);右侧超出了范围,编译器会直接报错。                                              
        (4)字符相加,参考ASCII表(或者是Unicode表),将字符转换成为int数字,然后再运算。(其中A为65,a为97,0为48)
        (5)字符串相连(按照从左到右的顺序:"Hello"+20+10=Hello2010    20+10+"Hello"=30Hello    但是第一种情况如果加()结果就会有所改变)
        (6) 自增(减)运算符 :( ++ 优先级 比乘除还高
                自增运算符:++,在原有的基础上+1
                自减运算符:--,在原有的基础上-1
                使用格式:可以写在变量前面,也可以写在变量后面。但是只能用于 变量 ,不能用于常量。++a    a--
                使用方式:
                    1.单独使用,不与其它任何运算混合,自己独立成为一个步骤(一行)
                    2.混合使用,与其它操作混合
                使用区别:
                    1.对于单独使用来说,前++和后++,没有任何区别
                    2.对于混合使用来说有【重大区别】
                        A.如果是【前++】,那么立刻马上+1,然后拿着结果进行使用。【先加后用】
                        B.如果是【后++】,那么首先使用本来的数值,用完之后再+1。【先用后加】

    二、赋值运算符(=,+=,-=,*=,/=,%=)
        就是将右边的数据交给左边的变量。
            1.    基本赋值运算符:=
            2.    复合赋值运算符:
                    +=        a += 3        a = a + 3
                    -=         a -= 4         a = a - 4
                    *=         a *= 5         a = a * 5
                    /=         a /= 6         a = a / 6
                    %=       a %= 7        a = a % 7
                    注意事项:复合赋值运算符隐含了一个强制类型转换(就是char/byte/short那三种)

    三、关系比较运算符(==,!=,>,<,>=,<=)
        关系运算符的结果都是boolean型,也就是要么是true,要么是false

    四、逻辑运算符(&,|,!,^)
        与(并且)       &         全都是true才是true;否则就是false
        或(或者)        |          只要有一个true,就是true;全都是false,才是false
          非(取反)        !        (必须放在前面)本来是true变成false;本来是false变成true
        异或(取异)    ^         相同就是false;不同就是true
        注意事项
            1.逻辑运算符只能用于连接若干个boolean类型
            2.只有取反是作用于一个数据的,其他都是左右各有一个数据
            3.如果希望判断 3 < x < 6,需要写:3 < x & x < 6 ,拆开来写,不能连着写。    
            4.在逻辑运算符当中,&与和|或可以双写:&& ||
                a. 从效果上来看,双写和单写没有任何区别!
                b. 双写可以起到“短路”的效果,有可能提高程序执行的效率!(从左到右如果已经判断出结果了,后边的就不进行计算了)
                c.小游戏
            int a = 1, b = 1;
            if ( a ++ == 1 || ++ b == 1) {
                a = 7;
            }
            System. out .println( "a=" + a + ",b=" + b );

    五、三元运算符
        一元运算符:有 个部分 参与运算    ! ++ --
        二元运算符:有 个部分 参与运算    + - % & |
        三元运算符:有 个部分 参与运算
      【格式】数据类型 变量名称 = 条件判断 ? 表达式A : 表达式B
                       char     b    =  (a>1) ?  '是'  : '否' ;
      【逻辑
            首先进行条件判断,如果条件成立,那么取用表达式A的值放入左侧变量;
                                          如果条件不成立,那么取用表达式B的值放入左侧变量。
        注意事项
            1 . 三元运算符的 结果必须被使用
            2 . 表达式A和表达式B必须 同时满足 左侧 变量的数据类型 要求。
                    String str = (n%2==0) ? "偶数" :"奇数";
                    String str = (n>=60) ? "及格" : "不及格";
                    int n = (a>b) ? (a+b) : (a*b);

⑦Scanner类
    引用数据类型(例如Scanner)使用的一般步骤:
        1. 导包:格式: import java.util.Scanner 只有java.lang包下的东西不需要导包也可以照样使用,但是其他所有的包如果要想使用内容,都必须进行import导包。            
        2. 创建,格式: 数据类型 变量名称 = new  数据类型();    对于Scanner来说,右侧的小括号之内必须写上System.in,代表键盘输入。
        3. 使用,格式: 变量名称.方法名();
                                       Scanner  sc     = new Scanner(System.in);
                                    sc1.nextLine();










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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值