数据类型和运算符

一.变量的命名

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 那么返回结果将是右侧信息

posted @ 2019-11-21 09:54  大海中的海洋  阅读(469)  评论(0编辑  收藏  举报