• 数据类型和运算符


    一.变量的命名

    1.首先说下什么是变量,变量的定义是什么:一个数据存储空间的表示(CPU内存开辟的一个空间),变量的存储地址唯一,不重复。

    2.变量的命名规则 :    字,下,美,人,数,骆驼

    字:代表以字母开头 例如:name 

    下:代表以下划线开头  例如:_name

    美:以美元符号开头  例如:$name

    人:以人民币符号开头 例如:¥name

    数:变量名中包含数字可以,但不能以数字开头  例如:name6     6name就是错的写法

    骆驼:即驼峰命名法:变量名以多个单词组成,后面的单词手字母要大写 例如 nameNum;驼峰命名法可视为一种习惯,增强程序员的可读性,但绝不强制要求。

    还有一点大家要注意下:不能使用关键字作为变量名,例如public  class System 等等。

    如果你的变量名是由多个单词组成,切记单词之间不要有空格,例如:zip code  这种情况在环境里编写会报错

    package test;
    
    public class Demo {
        public static void main(String[] args){
            int name=100;
            int _name=100;
            int $name=100;
            int ¥name=100;
            int name6=100;
            int nameNum=100;
        }
    }

    3.变量的三要素:变量类型,变量名,变量值;

    变量的类型   变量     =   变量值
        int   money     =    1000  ; 

    二.数据类型

    1.数据类型有两种:数值型,非数值型

    数值型:整数类型,浮点型(我们常说的小数:98.5   88.5)

    非数值类型:字符型,布尔型

    整数类型:byte   short   int   long

    浮点型:float   double 

    字符型:char

    布尔型:boolean  

    引用数据类型:String 存放字符串

    以上类型都有它们的各自的取值范围:取值范围的顺序

    byte  short  int   long  float   double

    char  int  long  float  double

    2.常量

    特点:
    (1)常量名通常大写
    (2)不同字符建议使用下划线分割
    (3)不能被二次赋值(换句话说就是如果进行二次赋值就会报错)

    注意:变量类型前一定要加final

    public static void main(String[] args){
        final String CHENHU_SEX = "";
        System.out.println(CHENHU_SEX);
        
        CHENHU_SEX = "";
        System.out.println(CHENHU_SEX);
    }

    3.Scanner的使用方法

    步骤:
    1.导入import java.util.Scanner;
    2.Scanner scanner = new Scanner(System.in);
    3.调用String name = scanner.next();

    package test;
        //第一步:导入Scanner类
        import java.util.Scanner;//导入老外写的Scanner类,包路径是Scanner
        /**
         * 案例2:Scanner的使用
         *
         */
        public class Demo02 {
            public static void main(String[] args){
                //提示语句
                System.out.println("请输入您要输入的值是:");
                
                //第二步: 创建Scanner对象
                 Scanner scanner = new Scanner(System.in);
                 
                //第三步:获取键盘输入的值(调用scanner对象的next()方法,将返回值赋给name变量,name变量类型是String类型)
                 String name = scanner.next();
                
                //测试
                 System.out.println("您刚刚输入的值是:"+name);
                    
            }
        }

     4.数据类型转换:强制类型转换,自动类型转换

            (1).由小转大,直接转
            int a = 3;//将3赋值给变量a
            double b ;
            b = a;
         float c=5.6f; System.
    out.println(b); (2)由大转小,需要强制转换,语法:加入小括号 int a; double b = 5.0; a = (int)b; System.out.println(a);

    (3)int num1=10;
    double num2=9.8;
    int num4=num1-(int)num2;
           System.out.println(num4);

    强制类型转换

    (1)浮点数的默认类型是double    如果将5.6直接赋给float会出现编译错误  因为float的取值范围小于double 要在float后加f

    (2)因为double的取值范围大于int的取值范围,将b赋给a需要强制类型转换

    (3)当表达式中有一个值为double 那么整个结果提升为double     当double类型转给int类型时 会造成精度丢失 小数点后面的值将全部丢失num2会变成9  输出num4值是1

    自动类型的转换:就是小的取值范围的类型转给大的类型 不会出现编译错误

    转换规则:

    满足自动类型转换的条件:1.两种类型要兼容   2.目标类型大于原里类型

    三.运算符

    1.赋值运算符 "=" 

    (1)语法:变量名 = 表达式;
    /**
     * 案例1:(赋值运算符实现)
     *学员王浩的Java成绩是80分,学员张萌的Java成绩与王浩的相同,输出张萌的成绩
     */
    public class Demo09 {
        public static void main(String[] args) {
            int wanghaoScore = 80;
            int zhangmengScore = wanghaoScore;
            System.out.println("张萌的成绩是:"+zhangmengScore);
        }
    }

    赋值运算符的核心原理

    案例1:定义变量步骤:
    //1.声明一个变量
    int money;  
    //2.给变量赋值
    money = 100;
    //3.获取变量的名称
    System.out.println(money);
    
    案例2:二次赋值过程:
    //1.初始化money变量,并赋值为100
    int money = 100;
    //2.输出money的值
    System.out.println("前:"+money);
    //3.第二次对money赋值,赋值的内容是30
    money = 30;
    //4.输出money此时此刻的值。结果为30
    System.out.println("后:"+money);

    讲解:“=”作为赋值运算符是将右边的值‘’给‘’左侧的变量,而不是左右相等。如果一个变量进行二次赋值 第二次的值将会覆盖前一个值

    2.算数运算符 :+ ,— ,  * ,  /   ,%,++,--

    public class Demo{
        public static void main(String[] args) {
          int a = 1;
          int b = 2;
          int c = 3;
          int d = 4;
          int i = 1;

          System.out.println(a+b);//算术加
          System.out.println(a-b);//算术减
          System.out.println(a*b);//算术乘
          System.out.println(c/b);//算术除
          System.out.println(c%b);//算出取
          System.out.println(i++);//自增
          System.out.println(++i);//自增
        }
    }

    讲解:+ ,-,*我们都中所周知。主要说下/,%这两个运算符:/ 是两个数相除取“商” ,c/b取商就是1 ,%是两个数相除取“余数” c%b取余数就是1

    i++,++i,是在原有基础上加1的意思,但前者是先输出i在加1,而后者是先加1在输出

    3.关系运算符:==,>=,<=,!=,> ,<

    package test;
    
    public class Demo {
        public static void main(String[] args){
            int a = 1;
            int b = 2;
            int c = 3;
            int d = 4;
            
            System.out.println(a==b);//等于运算符  “=”赋值运算符 要分清楚 结果false
            System.out.println(a!=b);//不等于   结果true
            System.out.println(a>b);//大于   结果false
            System.out.println(a<b);//小于   结果true
            System.out.println(c>=b);//大于等于   结果true
            System.out.println(c<=b);//小于等于   结果false
        }
    }

    注意:=是赋值运算符,==是等于运算符   要分清楚

    关系运算符表达式结果为布尔值

    >,<,>=,<=运算符优先级别高于==,!=

    >,<,>=,<=运算符只支持数值类型的数据比较

    4.逻辑运算符 &&,||,!

    package test;
    
    public class Demo {
        public static void main(String[] args){
            int a = 1;
            int b = 2;
            int c = 3;
            int d = 4;
            
            System.out.println((a==b)&&(c==d));//短路与 返回值也是boolean值 false
            System.out.println((a!=b)||(c>=b));//短路或 true
        }
    }

    (a==b)&&(c==d)

    注意:可以理解为"并且"; 运算规则:两个操作数都是true,结果就是true;如果其中一个是false,那么整个结果就是false;

    提示:如果前者返回值是false, 程序将不会执行后一个会直接返回false  ;

    (a!=b)||(c>=b)

    注意:可以理解为"或者"; 运算规则:两个操作数只要有一个是true,结果就是true;如果其中一个是false,另一个是true 整个结果也是true;

    提示:如果前者返回值是false, 程序将会执行后者继续判断 ;

    5.条件运算符 :条件?表达式1:表达式2

    package test;
    
    public class Demo {
        public static void main(String[] args){
            int min;
            min=5<7?5:7;
            System.out.println(min);
            
            min=10<7?10:7;
            System.out.println(min);
        }
    }

    讲解:判断是否5<7,显然5是小于7的那么结果就是true  将输出冒号左侧的信息;判断10<7,显然10是大于7的那么结果是false 将输出冒号右侧的信息;

    总结:表达式判断结果是true 那么返回结果将是左侧的数值,如果表达式判断的结果是false 那么返回结果将是右侧信息

  • 相关阅读:
    UVa10820 Send a Table[欧拉函数]
    HDU2929 Bigger is Better[DP 打印方案 !]
    UVa11549计算器谜题[floyd判圈]
    洛谷U4807抽水机[最小生成树]
    CF149D. Coloring Brackets[区间DP !]
    POJ1651Multiplication Puzzle[区间DP]
    POJ2955Brackets[区间DP]
    POJ1129Channel Allocation[迭代加深搜索 四色定理]
    codevs1004四子连棋[BFS 哈希]
    codevs哈希水题
  • 原文地址:https://www.cnblogs.com/LittleBoys/p/11903764.html
Copyright © 2020-2023  润新知