java基础day2-变量和数据类型

变量和数据类型

数据类型说明

数据类型大小取值范围
byte1字节8位-128 ~ +127
short2字节16位-32768 (-2^15) ~ + 32767 (+2^15-1)
int4字节32位-2147483648(-2^31) ~ + 2147483647(2^31-1)
long8字节64位-2^63 ~ + 2^63-1
float4字节32位浮点数1.4E-45 ~ 3.4E+38 , -1.4E-45 ~ -3.4E+38
double8字节64位浮点数4.9E-324 ~ 1.7E+308, -4.9E-324 ~ -1.7E+308

变量声明及使用

第一步:声明变量,根据数据类型在内存申请空间
数据类型 变量名;
第二步:赋值,即“将数据存储至对应的内存空间”
变量名 = 数值;
第一步和第二步可以合并
第三步:使用变量,即“取出数据使用”
数据类型 变量名=数值;

示例如下:

public class Demo1 {
    //快捷键psvm,四个英文单词首字母
    public static void main(String[] args) {
        double score=98.5;//数据类型 变量名=数值;
        String name="张三";//数据类型 变量名=数值;
        char gender='男';//数据类型 变量名=数值;
        System.out.println("java课程最高分为"+score);//字符串的连接用"+"
        System.out.println("最高分学员姓名:"+name);
        System.out.println("最高分学员性别:"+gender);
    }
}

结果如图:
在这里插入图片描述

Scanner的使用

在程序运行中,我们通过使用Scanner来接收用户键盘输入的值。
第一步:我们需要导入Scanner类
import java.util.Scanner;
第二部:创建Scanner对象
Scanner input=new Scanner(System.in);
第三部:获得键盘输入的数据
int now=input.nextInt();

示例如下:

import java.util.Scanner;//导入Scanner类
/**
 * @Date 2021/1/5
 * @Description
 */
public class Demo5 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);//创建Scanner对象
        System.out.println("请输入4位会员卡号:");
        int num=sc.nextInt();//获得键盘输入的数据
        System.out.println("会员卡号是:"+num);
    }
}

结果如图:
在这里插入图片描述

自动类型转换

自动类型转换:1、隐式类型转换,大类型接收小类型,并且数值类型要相互兼容
2、小类型与大类型进行运算,则小类型自动转换成大类型
强制类型转换:当小类型接收大类型的数据时,就需要强制类型转换

示例如下:

public class Demo6 {
    public static void main(String[] args) {
        double avg=81.29;
        int add=2;
        //自动类型转换/隐式类型转换、大类型接收小类型
        avg=avg+add;//小类型与大类型进行运算,则小类型自动转换成大类型
        System.out.println(avg);
        int money=1000;
        //小类型接收大类型的数据,就需要强制类型转换
        money=(int)(money*(1+0.05));
        System.out.println(money);
        //类型转换的特殊情况
        int a=97;
        char c=(char)a;
        System.out.println(c);//ASCII码转换成字符
        char ch='F';
        int rst=ch;
        System.out.println(rst);//字符转换成ASCII码
        //拼接字符串
        System.out.println("abc"+1+2+3);
    }
}

结果如图:
在这里插入图片描述

算术运算符

基本的算数运算:+、-、*、/、%、++、- -
复合算术运算符:+=、-=、*=、/=、%=

a+=b–>a=a+ba-=b–>a=a-ba*=b–>a=a*ba/=b–>a=a/ba%=b–>a=a%b

++的意思是自增1,- -的意思是自减1
a++本身的值等于加之前的a的值,++b本身的值等于加之后的b的值。

示例如下:

public class Demo8 {
    public static void main(String[] args) {
        int a=5;
        int b=2;
        int c=4;
        int d=6;
        c+=b;//等于c=c+b
        d%=a;//等于d=d%a
        System.out.println(a++); //a++本身的值等于加之前的a得值
        System.out.println(a);
        System.out.println(++b);//++b本身的值等于加之后的b的值
        System.out.println(b);
        //++的意思是自增1,--的意思是自减1
        System.out.println(c);
        System.out.println(d);
        System.out.println(c--);
        System.out.println(c);
        System.out.println(--d);
        System.out.println(d);
    }
}

结果如图:
在这里插入图片描述

关系运算符与逻辑运算符

运算符含义范例结果
==等于5==6false
!=不等于5!=6true
>大于5>6false
<小于5<6true
>=大于等于5>=6false
<=小于等于5<=6true

=为赋值运算符,==为等于运算符
关系表达式的结果为布尔值

运算符含义运算规则
&&短路两个操作数都是true,结果才是true
| |短路两个操作数一个是true,结果就是true
!操作数为true,结果为false。
操作数为false,结果为true。

如果第一个操作数已经能确定表达式的值,第二个操作数就不必计算了。
但是逻辑与(&)和逻辑或(|)却不会这样,它们不管第一个操作数是否已经能确定表达式的值,都会继续计算第二个操作数,然后再确定表达式的值。

示例如下:

public class Demo9 {
    public static void main(String[] args) {
        int x=8;
        int y=9;
        System.out.println((++x==y)&&(x!=y));//短路与,只有两个都是true,结果才是true
        System.out.println(x);
        int a=5;
        int b=6;
        System.out.println( (++a!=b)||(++a==b));//短路或,只要有一个是true,结果就是true
        System.out.println(a);
    }
}

结果如图:
在这里插入图片描述
第一个输出打印语句里面,因为++x=9而且y=9,所以(++x==y)是对的(true),而x=y,所以(x!=y)是错的(false)。因为短路与只有在两个操作数都是true的情况下才能是true,所以该语句的结果为false。

第三个输出打印语句里面,因为++a=6而且b=6,所以++a应该等于b,则(++a!=b)是错的(false),此时a的值就为6了,再来个++a就等于7了,此时++a不等于b,所以(++a==b)也是错的(false)。因为短路或只要有一个操作数是true,结果就是true。但是这个语句中两个操作数都是false,所以该语句的结果也为false。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值