数据类型与运算符

一、注释

1.1、注释概述

用于解释说明程序的文字,提高程序的阅读性,可以帮助排错。

1.2、Java中注释分类格式

单行注释
格式: // 注释文字
多行注释
格式: /* 注释文字 * /
文档注释
格式:/** 注释文字 */

二、关键字与标识符

2.1、关键字

被Java语言赋予特定含义的单词,组成关键字的字母全部小写。
在这里插入图片描述
在这里插入图片描述
其中goto和const作为保留字存在,目前并不使用。

2.2、标识符

2.21、标识符的概述

就是给类,接口,方法,变量等起名字时使用的字符序列

2.22、组成规则

英文大小写字母
数字字符
$和_

2.23、注意事项

不能以数字开头
不能是Java中的关键字
区分大小写

2.24、常见命名规则

类或者接口
一个单词:首字母大写。多个单词:每个单词首字母大写。
方法和变量
一个单词:全部小写。多个单词:从第二个单词开始每个单词的首字母大写。
常量
一个单词:全部大写。多个单词:全部大写,单词之间用下划线隔开。

三、数据类型

3.1、常量与变量

3.11、常量

在程序执行的过程中其值不可以发生改变,分为字面值常量和自定义常量。

public static void main(String[] args) {
        System.out.println(100);
        System.out.println(3.14);
        System.out.println('a');
        System.out.println("java");
        System.out.println(true);
        System.out.println(false);
    }

3.12、变量

在程序执行的过程中,在某个范围内其值可以发生改变的量
定义格式为:
数据类型 变量名 = 初始化值;

public static void main(String[] args) {
        byte a=122;
        int b=100;
        short c=20;
        long d=1000000L;
        float e=3.14F;
        double f=6.112;
        boolean g=true;
        char h='j';
    }

3.2、数据类型的概述

在这里插入图片描述
其中整数默认为int;浮点数默认为double;

3.3、数据类型所占内存大小

在这里插入图片描述

3.4、注意事项

1、作用域
变量定义在哪一级大括号中,哪个大括号的范围就是这个变量的作用域。相同的作用域中不能定义两个同名变量。
2、初始化值
没有初始化值不能直接使用
3、在一行上建议只定义一个变量
可以定义多个,但是不建议
4、在使用long和fioat时要再后边加上L和F,否则编译会报错。

3.5、自动转换和强制转换

自动转换(从小到大):在参与运算时byte,short,char—int—long—float—double
byte,short,char相互之间补转换,他们参与运算首先转换为int类型

在这里插入图片描述

public static void main(String[] args) {
        int a=4;
        byte b=3;
        int c=a+b;
        byte cc=a+b;//编译报错,因为可能损失精度
    }

强制转换(从大到小):可能造成精度损失,一般情况下不使用。

目标类型 变量名=(目标类型)(被转换的数据);
public static void main(String[] args) {
        int a=4;
        byte b=3;
        int c=a+b;
        byte cc= (byte)(a+b);
    }

下面两种定义变量的方式不同,建议使用第一种:

float e=12.333F;
 float f=(float)12.333;//可能损失精度

3.51、数据溢出

 byte aa=(byte)130;
        System.out.println(aa);//打印值为-126

以下为该强制转换的运行步骤:
1、首先将130转换为二进制

130---------------------------00000000   00000000  00000000  10000010

2、因为符号位是0,所以原码,反码,补码的值都为

00000000   00000000    00000000  10000010

3、在强制转换后截取前三个字节补码值变为

补码 :      1               0000010
            符号位
反码:       1               0000001
原码:       1               1111110  

所以输出为 -126

四、运算符

4.1、算术运算符

在这里插入图片描述
注意:
1、当字符变量是字母时在运算时会转换ASCII码表对应的数值计算。
2、字符串在使用+号时,起的是拼接的作用。
3、除法的时候要注意一个问题:整数相除,只能得到整数

关于自增和自减:

public static void main(String[] args) {
        int a = 100;
        int b = 10;
        int c= (a++)+b;//先运算后加
        System.out.println(c);//输出为110
    }
public static void main(String[] args) {
        int a = 100;
        int b = 10;
        int c= (++a)+b;//先加后运算
        System.out.println(c);//输出为111
    }

4.2、赋值运算符

= , +=, -=, *=, /=, %=

public static void main(String[] args) {
        int a=10;//=的作用是赋值
        a+=a;//加a以后赋值
        a-=a;//减a以后赋值
        a*=a;//乘a以后赋值
        a/=a;//除a以后赋值
        a%=a;//对a取余以后赋值
    }

4.3、关系运算符

在这里插入图片描述
注意:返回值只能为boolean类型,也就是说只能为false或者true。

4.4、逻辑运算符

在这里插入图片描述
“&”和“&&”的区别:
&: 左边无论真假,右边都进行运算;
&&:如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。

“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。

4.5、位运算符

在这里插入图片描述
要做位运算,首先要把数据转换为二进制

3的二进制:11

00000000   00000000   00000000   00000011

4的二进制:100

00000000  00000000    00000000   00000100

因为3和4都是整数,所以原反补码都相同不需要转换。

&:有0则0;

3&4=00000000     00000000   00000000    00000000=0

|:有1则1;

3|4=00000000    00000000  00000000  00000111=7

^:相同则0,不同则1;

3^4:00000000   00000000   00000000   00000111=7

~:0变1,1变0;

~3=11111111  11111111  11111111  11111100
补码:11111111  11111111  11111111  11111100
反码:11111111  11111111  11111111  11111011
原码:10000000  00000000  00000000  00000100=-4
 public static void main(String[] args) {
        int a=3;
        int b=4;
        System.out.println(a&b);//0
        System.out.println(a|b);//7
        System.out.println(a^b);//7
        System.out.println(~a);//-4
    }

注意:
^(位异或)的特点:某一个数据对另一个数据位异或两次数据不变。此特点可以用于交换两个整数变量的值。

 public static void main(String[] args) {
        int a=10;
        int b=20;
        System.out.println(a^b^a);//20
        System.out.println(a^b^b);//10
    }

练习:交换两个整数变量的值
方式一:

public static void main(String[] args) {
        int a=10;
        int b=20;
        int t=0;
        t=a;
        a=b;
        b=t;
    }

方式二:

public static void main(String[] args) {
        int a=10;
        int b=20;
        a=a^b;
        b=a^b;
        a=a^b;
        System.out.println(a);//20
        System.out.println(b);//10
    }

方式三:

 public static void main(String[] args) {
        int a=10;
        int b=20;
        a=a+b;
        b=a-b;
        a=a-b;
    }

方式四:

public static void main(String[] args) {
        int a=10;
        int b=20;
        b=(a+b)-(a=b);
    }

其他位运算符:

<<:空位补0,被移除的高位丢弃;
>>:被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,最高位补1>>>:被移位二进制最高位无论是0或者是1,空缺位都用0补。

4.6、三元运算符

格式
(关系表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2

例如判断两个数中的最大值:

 public static void main(String[] args) {
        int a= 10;
        int b=20;
        int num=a>b?a:b;
        System.out.println(num);
    }

获取三个整数中的最大值:

public static void main(String[] args) {
        int a= 10;
        int b=20;
        int c=30;
        int num=(a>b?a:b)>c?(a>b?a:b):c;
        System.out.println(num);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的体育馆管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本体育馆管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此体育馆管理系统利用当下成熟完善的SpringBoot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理收货地址管理、购物车管理、场地管理、场地订单管理、字典管理、赛事管理、赛事收藏管理、赛事评价管理、赛事订单管理、商品管理、商品收藏管理、商品评价管理、商品订单管理、用户管理、管理员管理等功能。体育馆管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:体育馆管理系统;SpringBoot框架;Mysql;自动化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值