Java的变量和运算符

变量的概念

        变量是计算机内存中的一块存储空间,作用为存储一个数据,是存储数据的基本单元。

变量的组成

        变量由数据类型,变量名,值组成。

        名词解释:

                数据类型:声明内部存放的数据是什么类型的数据。

                变量名:作用为区分不同的变量。

                值:内存中存放的数据。

变量的创建

        1.先声明,后赋值

数据类型 变量名;//声明
变量名=值;//赋值

example:

//先声明
int age;
//再赋值
age=20;

        注意:变量只有声明赋值后才能使用,只声明是无法使用的。

        2.声明的同时直接赋值

数据类型 变量名=值;

example:

int age2=21;

        3.同时声明多个变量,再逐一赋值

数据类型 变量名1,变量名2,..;//声明多个
变量名1=值1;
变量名2=值2;
..

example:

int score1,score2,score3;//声明多个
        score1=90;
        score2=88;
        System.out.println(score1);
        System.out.println(score2);
      //  System.out.println(score3);错误(未赋值)
        score3=60;
        System.out.println(score3);

        4.同时声明多个变量并直接赋值

数据类型 变量名1=值1,变量名2=值2,..;

//同时声明多个并直接赋值
        int score4=70,score5=68,score6;
        score6=99;

PS:第三种写法和第四种可以混合使用。      

数据类型

        由于java是强类型的语言:每个数据都有自己对应的数据类型,每个容器也需声明自己的数据类型。

基本数据类型

        1.整数

数据类型字节长度取值范围取值范围(十进制)举例
byte1B-2^7~2^7-1-128~127byte b = 10;
short2B-2^15~2^15-1-32768~327767short s = 10;
int4B-2^31~2^31-1-2147483648~2147483647int i = 10;
long8B-2^63~2^63-1很大long l = 10L;

整型数据特点:

        int 为计算机整数的默认类型

        long 类型的值超出int的取值范围时必须在末尾添加L或l(为方便记忆,建议龙类型所有值末尾之间添加L)

byte b=127;
short s=32767;
int i=1000000;
//在int的取值范围内
long l=1000;
//在int的取值范围外
long l2=10000000000L;

         2.小数(浮点数)

数据类型字节长度取值范围举例
float(单精度浮点数)4B-3.4E38~3.4E38filoat 分= 1.25F;
double(双精度浮点数)8B-1.79E308~1.79E308double d = 2.5;

                  浮点数特点:

                        double 为计算机小数的默认类型

                        float类型在赋值时末尾必须添加F或者f

float f=5.5F;
double d=5.5;

         3.字符

数据类型字节长度取值范围字符集
char2B0~65535Unicode(16进制)字符集
1. 单引号赋值:值内部只能有一个组成部分
    char 变量名='值';
2. 数值赋值:每个数字都有一个自己对应的字符,数字不能超出取值范围
    A-Z:65-90
    a-z: 97-122
    char 变量名=数字;
3. unicode编码赋值-了解
    char 变量名='\u0041';//A   

example:

 		char c1='a';
        //char c2='ab';
        char c2='6';
        //char c3='65';
        char c3=97;//a
        char c4=6;

        System.out.println(c1 == c3);//t
        System.out.println(c2 == c4);//f

        char c5='\u0041';
        System.out.println(c5);//A

        char类型的数据特点:

        值内部只有一个组成部分,每一个数字都有自己对应的字符,char类型在进行数学运算时会统一换算为数值状态。

        4. 布尔 

数据类型取值应用场景
booleantrue(真),false(假)条件判断

        boolean类型的使用特点:一般用于条件判断,不能进行数学运算。

引用数据类型

        只要不是八大基本类型,就一定是引用类型

        引用类型有:String,数组[] ,接口interface,类class。

        暂时先介绍String类型,剩下的后期学到后再详细介绍

        String :字符串,可以存放多个字符。(String类型的值必须写进双引号,不做其他要求)

String 变量名="值";

example:

String s1 = "10";
String s2 = "abc";
String s3 = "+-*/";
String s4 = "+-*/10  abshajdas  shda-01248901";

//基本数据类型加""也会变成String类型

String s5 = 2+"";

数据类型转换

        基本类型数值范围从从小到大:

        byte—> short—>(char)—>int—> long—> float—> double

自动类型转换

        发生在小数据类型给大数据类型赋值时(没有数据精度丢失风险)

大类型=小类型;

example:

 byte b=10;
//将byte类型的变量b的值赋值给short类型的s
 short s=b;//short=byte

强制类型转换

        发生在强制将大类型的值赋值给小类型时(存在数据精度丢失的风险)

        语法:小类型  = (小类型)大类型

        1. 大类型的值在小类型的取值范围内,不会出现数据异常

short s=10;
byte b=(byte)s;//10

        2. 大类型的值不在小类型的取值范围内,会出现数据异常

short s3=129;
byte b3 = (byte) s3;
System.out.println("b3: "+b3);//-127

        3. 小数强转为整数时,会直接舍弃小数位,极有可能出现数据丢失

double d=5.9;
int n=(int) d;
System.out.println("n: "+n);//5

        4.由于char类型没有负数取值,所有其他类型转为char时都需要进行类型强转

byte byte1=97;
char char1=(char) byte1;

自动类型提升

        发生在数学运算时,有不同数据类型参与时,会触发类型提升,最终结果将被提升为大类型

        (最多提升为double,最少提升为int)

 int num=10;
 num=num+1;
 //num=num+0.5;//int+double

表达式

由一个或者多个变量/值通过运算符进行连接,最终可以得到一个结果,这个通过运算符连起来的式子称为表达式。

运算符

数学运算符

+、-、*、/、%(取余/模)

赋值运算符

=、(+=、-=、*=、/=、%=)

        特点:括号里的运算符都是先计算,后赋值,如:n+=i 的含义为n先加i,再将相加后的值赋值给n。赋值运算符还可以防止发生自动类型提升。

int d=10;
//d=d+0.5; 会发生自动类型提升
d+=5.5;
System.out.println(d);//15

比较运算符

<(小于),>(大于),>=(大于等于) ,<=(小于等于) , ==(等于) , !=(不等于)

        特点:表达式结果一定为boolean类型

逻辑运算符

运算符含义使用
&&逻辑与表示并且,多方同时满足才为true,有一方为false则结果为false
||逻辑或表示或者,一方为true则为true,全为false才为false
逻辑非表示取反

        特点:用逻辑运算符衔接的必须为布尔表达式/结果为boolean类型的表达式

        拓展:

                逻辑运算符特有的短路机制:当运算到可以奠定最终结果的表达式时,后续表达式将不再判断。想要避免这种情况可以使用非短路运算符:&和/(无论如何所有表达式都会正常执行)。

一元运算符

运算符写法含义
++变量名++ 或者 ++变量名数值+1,相当于n+=1
--变量名-- 或者 --变量名数值-1,相当于n-=1

        特点:无论运算符在前还是在后,变量本身的值一定会进行变化。运算符在前,表达式的结果为变量计算后的值;运算符在后,表达式的结果为变量计算前的值。

        int n=1;
        int b=(n++) + (++n) + (--n) + (n--);
        //     1        3        2      2
        System.out.println("n: "+n);//1
        System.out.println("b: "+b);//8

三元运算符

布尔表达式 ? 结果1 : 结果2

执行流程:当布尔表达式结果为true时,执行结果1,否则执行结果2。

                  结果1和结果2可以为一个值或表达式

//判断变量n是否为偶数并输出
        int n=11;
        System.out.println( n%2==0 ? "偶数" : "不是偶数"   );

        int b=( n%2==0 ? n*10 : n+1);
        System.out.println("b: "+b);

扫描器-Scanner

       java类库中提供了Scanner工具类,可以辅助实现接受用户输入的数据。

        使用步骤:

        创建扫描器—>给用户提示—>接收用户输入

        PS:在接收用户输入的内容时,不同数据类型有不同的接收语句。扫描器在创建后可以反复使用。

                String: 扫描器名.next()
                int: 扫描器名.nextInt()
                double: 扫描器名.nextDouble()
                char: 扫描器名.next().charAt(0)

        //接收用户输入的姓名、年龄、成绩、性别
        //1. 创建扫描器
        java.util.Scanner sc=new java.util.Scanner(System.in);
        //2. 给用户提示
        System.out.println("请输入你的姓名:");
        //3. 接收用户输入
        String name = sc.next();
        //接收年龄
        System.out.println("请输入你的年龄:");
        int age = sc.nextInt();
        //接收成绩
        System.out.println("请输入你的成绩:");
        double score = sc.nextDouble();
        //接收性别
        System.out.println("请输入你的性别:");
        char sex = sc.next().charAt(0);

        //输出查看结果
        System.out.println(name+"  "+age+"  "+score+"  "+sex);

导包-import

        一次性在源文件中知名某个明星或某些类的来源。

        语法:import 包名.类名;

        使用规范:

               1. 位置:第一个类的上方,package语句的上方。

                2. 一次性导入某个类或某些类之后,源文件中的类在使用时不需再声明包。

                3. 可以使用通配符*一次性引入某个包里的所有类。

import 包名.*;

                4. *通配符只能引入直属的类,无法引入子保的类。

                5. 一个导包语句中通配符*只能存在一次。

                6. 一个源文件导包语句可以存在多个。

转义字符(\)

        作用:将特殊字符普通化,将普通字符特殊化。

        使用:\n表示换行;\t表示一段制表符距离,相当于tab键的效果。(这两个符号在注释“”中才会生效)

        //需求:输出一个"
        System.out.println(" \" ");

        //演示\n和\t
        System.out.println("太阳当空照,花儿对我笑,\n小鸟说\t早早早,你为什么背上小书包");

重点掌握:

  1. 变量的语法

  2. 八大基本数据类型的字节数+取值范围(boolean类型掌握字面值)

  3. 自动类型转换和强制类型转换各自的发生时机

  4. 强转的语法和不同情况的效果

  5. 什么是自动类型提升

  6. 各个运算符

    • 逻辑运算符(短路机制)

    • 一元运算符

    • 三元运算符

  7. 扫描器的使用

  8. 导包的使用特点

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java关键字: abstract、assert、boolean、break、byte、case、catch、char、class、const、continue、default、do、double、else、enum、extends、final、finally、float、for、goto、if、implements、import、instanceof、int、interface、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while Java标识符: 标识符是Java程序中指定名称的组件,如变量名、方法名、类名等。标识符必须以字母、下划线或美元符号开头,不能以数字开头,只能包含字母、数字、下划线或美元符号。 Java变量Java变量是存储数据的容器,可以存储不同类型的数据,如int、double、String等。变量需要先声明,再进行赋值操作。Java中的变量可以被分类为:局部变量、成员变量和静态变量Java运算符Java运算符包括算术运算符、比较运算符、逻辑运算符、条件运算符、位运算符等。算术运算符包括加(+)、减(-)、乘(*)、除(/)、取余(%)等;比较运算符包括大于(>)、小于(<)、等于(==)、不等于(!=)、大于等于(>=)、小于等于(<=)等;逻辑运算符包括与(&&)、或(||)、非(!)等;条件运算符包括三目运算符(?:)等;位运算符包括按位与(&)、按位或(|)、按位异或(^)等。 Java流程控制: Java流程控制指的是在程序中控制程序执行的顺序和次数。Java流程控制包括分支语句和循环语句。分支语句包括if语句、switch语句等;循环语句包括for循环、while循环、do-while循环等。还有特殊的流程控制语句,如break语句、continue语句等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值