Java基础语法01——变量与运算符

洛谷基础题练习12 洛谷基础入门题练习,语句分析、禽兽的传染病、三子棋Ⅰ、手机、表达式括号匹配、Davor筹钱、判断奇偶数、彩票摇奖等。 阅读详情

Java基础语法01——变量与运算符

本文是对Java基础语法的第一部分的学习,包括注释;标识符的命名规则与规范;变量的数据类型分类以及转换;以及六种运算符(算术、赋值、比较、逻辑、三元和位运算符)。

注释(commment)

书写注释是一种良好的习惯,注释是写给人看的,并不会在代码运行时展示出来。注释主要分为以下三类:单行注释、多行注释、文档注释

  1. 单行注释:一行,格式://

  2. 多行注释:一段,格式:/* 注释文字 */

  3. 文档注释:是专门为了用javadoc工具自动生成文档而写的注释,它是一种带有特殊功能的注释。

    格式:/** 文字 */ (这一部分还有很多需要扩展学习的地f方)

标识符

identifier在Java中,有很多需要自己起名字的地方,而这些就被称为标识符。

用来命名:类名、变量名、方法名、包名、接口名、常量名等。

  • 标识符命名规则:【必须遵循,否则会报错】

    1. 首字母只能以英文字母大小写、$、下划线(_)开始

    2. 首字母之后可以是英文字母大小写、$、下划线(_)或数字的任意组合

    3. 标识符的命名是大小写敏感的

    4. 不能使用关键字(被java语言赋予了特殊含义,用作专门用途的字符串,所有字母全部是小写的),但可以包含

    5. 可以使用中文命名,但是一般不建议使用

  • Java标识符的命名规范:【非必须遵守,但是一种良好的代码习惯】

    1. 类名、接口名:多单词组成时,每个单词的首字母大写:XxxYyyZzz

    2. 变量名、方法名:首个单词全部小写,其余单词首字母大写:xxxYyyZzz

    3. 包名:所有字母都小写:xxxyyyzzz

    4. 常量名:所有字母都大写且每个单词用下划线连接:XXX_YYY_ZZZ

  • 合法标识符举例:age、$salary、_value、__1_value

  • 非法标识符举例:123abc、-salary

变量

  • Java是一种强类型语言,即所有的变量都必须严格符合规定,所有变量都必须先定义再使用。

  • 变量的定义格式:数据类型 变量名 = 值;

  • 变量只在它的作用域内有效,一般作用域是{}

  • 在一个作用域内不能声明重名的多个变量

数据类型

数据类型分为基本数据类型和引用数据类型两种

 

整数类型:byte(1字节=8bit)、short(2字节)、int(4字节)、long(8字节)

byte范围:-128~127

定义long类型时,变量的值后要加L或l,例如:long l = 1000000L

整数类型常量默认为int型

浮点类型:float(4字节,但其表示的数范围比long大)、double(8字节)

定义float类型时,变量的值后要加F或f,例如:float f = 100.1f

浮点类型常量默认为double型

字符型:char(1字符=2字节)

声明char类型时,使用一对单引号(‘ ’)进行赋值,只能对一个字符进行赋值

表示方法:(1)表示一个字符(2)转义字符{\n——换行符,\t——制表符}(3)使Unicode字符集表 示字符{eg:\u0043——C}

布尔类型:boolean,只有true\false两个值,常常用在条件判断和循环结构中

  • 拓展:\\n运行时会输出\n(不再表示换行的意义);"\"可以将符号变成普通的字符

类型转换

  • 首先知道一下基本数据类型容量大小的顺序:byte、short、char——>int——>long——>float——>double(顺序由低容量到高容量)(此处容量大小,指的是类型的数据的范围大小)

  • 类型转换有两种类型:自动转换、强制转换(注意:不包括布尔类型)

    1. 自动转换:低——高

    2. 强制转换:高——低,需使用强转符:(强转类型)变量名 【可能导致精度损失】

    3. 举例:

//强转类型举例
public class Demo01{
    public static void main(String[] args){
        double d1 = 129.4;
        int i1 = (int)d1;//将double型强转为int型
        System.out.println(i1);//运行结果为129
    }
}
//自动提升类型举例
public class Demo02{
    public static void main(String[] args){
        byte b1 = 12;
        char c1 = 'a';
        int i1 = 129;
        
        int i2 = b1 + c1;//byte\char\short互相做运算或自身做运算时,都将自动转换成int类型
        int i3 = b1 + i1;//当容量大的和容量小的做运算时,结果为容量大的类型
        System.out.println(i2);//int型——12+97
        System.out.println(i3);//int型——12+129
    }
}

拓展1——String字符串类型

  • 属于引用数据类型

  • 声明String类型时,使用一对双引号,表示字符串

  • String类型可以与其他8中基本类型做运算,且只能是连接运算:+,运算结果仍为String类型

拓展2——不同进制间的转换(了解)

所有数字在计算机底层都以二进制存在

二进制(以0b或0B开头)、十进制、八进制(以0开头)、十六进制(以0x或0X开头,用0-9及A-F[16]表示)

public class Test1{
    public static void main(String[] args){
        int num1 = 0b110;//二进制???为啥这条运行不了???
        int num2 = 123;//十进制
        int num3 = 0127;//八进制
        int num4 = 0x123A;//十六进制
        System.out.println("num1 = " + num1);
        System.out.println("num2 = " + num2);
        System.out.println("num3 = " + num3);
        System.out.println("num4 = " + num4);
    }
}

 

运算符

算术运算符

算术运算符包括正负号(+、-)、加减乘除(+、-、*、/)、取模(取余)(%)、++(前++、后++)、--(前--、后--)

通过下面的程序代码解释相关的运算(正负号和加减乘比较简单就不说了):

  • //除法运算
    public class Demo01{
        public static void main(String[] args){
            int num1 = 12;
            int num2 = 7;
            int num3 = num1 / num2;
            System.out.println("num3 = " + num3);//1
            
            double num4 = num1/num2;//自动类型提升为double
            System.out.println("num4 = " + num4);//1.0
            
            double num5 = num1/num2+0.0;
            System.out.println("num5 = " + num5);//1.0
            
            double num6 = num1/(num2+0.0);
            System.out.println("num6 = " + num6);//1.714...(除不尽)
        }
    }
    //掌握住基本数据类型运算的本质

  • //取余运算
    public class Domo02{
        public static void main(String[] args){
            int i1 = 12;
            int i2 = 5;
            System.out.println("i1%i2 = " + i1%i2);//2
            
            int ii1 = -12;
            int ii2 = 5;
            System.out.println("ii1%ii2 = " + ii1%ii2);//-2
            
            int iii1 = 12;
            int iii2 = -5;
            System.out.println("iii1%iii2 = " + iii1%iii2);//2
            
            int iiii1 = -12;
            int iiii2 = -5;
            System.out.println("iiii1%iiii2 = " + iiii1%iiii2);//-2
            //取模结果的符号于被取模数相同
        }
    }

  • //前++(--):先自增(减)1.后做运算
    //后++(--):先做运算,后自增(减)1
    public class Demo03{
        public static void main(String[] args){
            int a = 5;
            int b = ++a;
            System.out.println("a="+a+",b="+b);//a=6,b=6
            
            b = a++;
            System.out.println("a="+a+",b="+b);//a=7,b=6
            
            b = --a;
            System.out.println("a="+a+",b="+b);//a=6,b=6
            
            b = a--;
            System.out.println("a="+a+",b="+b);//a=5,b=6
        }
    }
    //自增运算不改变 变量的数据类型

赋值运算符

赋值运算符号:=

扩展赋值运算符:+=、-=、*= 、/=、%=

//+=(其余的类似)
public class Demo04{
    public static void main(String[] args){
        int i1 = 7;
        i1 += 2;//相当于i1=i1+2
        System.out.println(i1);//9
        
        short i2 = 7;
        //i2 = i2 + 2;//编译失败,因为数据类型
        i2 += 2;//结论:不会改变变量的数据类型
        System.out.println(i2);//9
        
        int i3 = 1;
        i3 *= 0.2;//i3=i3*0.2(注意数据类型是整型的)
        System.out.println(i3);//0
        i3 += 1;//i3=i3+1
        System.out.println(i3);//1
    }
}
/*
1. 在开发中,使得整数+2的方法:
    num=num+2;
    num+=2;(推荐)
2. 在开发中,使得整数+1的方法:
    num=num+1;
    num+=1;
    num++;(推荐)
*/

比较运算符

比较运算符:==、!=、<、>、<=、>=、instanceof

比较运算符的结果都是布尔类型:true或false

//注意区分好==和=
public class Demo05{
    public static void main(String[] args){
        boolean b1 = true;
        boolean b2 = false;
        System.out.println(b2 == b1);//false
        System.out.println(b2 = b1);//true
    }
}

逻辑运算符

  • 逻辑运算符:&(逻辑与)、&&(短路与)、|(逻辑或)、||(短路或)、!(逻辑非)、^(逻辑异或)

  • 逻辑运算符两边操作的都是布尔类型的变量

  •  

  • 区分:&和&&(二者的运算结果相同,只是运行过程不同)【|、||的区分类似】

&:左右两边都运行

&&:如果左边的值可以判断出整体的值,那么右边的就不再运行

//举例说明两者区别
public class Demo05{
    public static void main(String[] args) {
        boolean b1=false;
        int n1 =10;
        if(b1 & (n1++ >0)){
            System.out.println("我在北京");
        }else{
            System.out.println("我在南京");
                }
        System.out.println("n1=" + n1);
        //我在南京
          n1=11
        boolean b2=false;
        int n2 =10;
        if(b2 && (n2++ >0)){
            System.out.println("我在北京");
        }else{
            System.out.println("我在南京");
                }
        System.out.println("n2=" + n2);
        //我在南京
          n1=10
    }
}

位运算符

(了解即可,平时用到的不太多)

  • 位运算符:<<(左移)、>>(右移)、>>>(无符号右移)、&(与)、|(或)、^(异或)、~(取反)

  • 位运算符运算的是整数的二进制,操作的是整数

  • 左移<<:将整数的二进制数整体向左移,在空缺位补0【规律:<<n(左移n位) = 相当于原数乘2^n】

    右移>>:将整数的二进制数整体向右移,如果原整数为正数,则在空缺位补0;若为负数,则补1【规律:<<n(右移n位) = 相当于原数除以2^n】

    无符号右移>>>:右移,补0

  • 与运算&:12&5——写成二进制——只有都是1才1,其余情况是0——结果:4

    00001100——12

    00000101——5

    00000100——4

    或运算|:12|5——写成二进制——只要有一个1就是1——结果:13

    00001100——12

    00000101——5

    00001101——13

    异或运算^:12^5——写成二进制——两者不相同就是1——结果:9

    00001100——12

    00000101——5

    00001001——9

    取反运算~:~12——写成二进制——包括最高位按位取反

    00001100——12

    11110011—— -13

三元运算符

  • 三元运算符结构:(条件表达式)?表达式1:表达式2

  • 注意几点:条件表达式的结果须是布尔类型

若条件表达式的结果为true,则执行表达式1;若条件表达式的结果为false,则执行表达式2

表达式1与表达式2的值要求可以统一为一个数据类型

Java入门之~Java基础语法 Java入门之基础语法篇,收藏学起来 阅读详情

相关推荐

DAY01 Java基础-运算符

Java运算符是用于执行各种操作(如算术、比较、逻辑等)的符号。它们帮助构建表达式和控制程序流程。下面我将逐步讲解您提到的各个部分,确保内容清晰易懂。这个讲解覆盖了所有主题,如果您有具体问题或代码示例,我可以进一步解释!运算符按优先级顺序执行(从高到低),可用括号。用于比较值,返回布尔值(

2501_92298658的博客 2077

Java的变量逻辑运算等

第1章 变量 1.1 变量概述 前面我们已经学习了常量,接下来我们要学习变量。在Java中变量的应用比常量的应用要多很多。所以变量也是尤为重要的知识点! 什么是变量?变量是一个内存中的小盒子(小容器),容器是什么?生活中也有很多容器,例如水杯是容器,用来装载水;你家里的大衣柜是容器,用来装载衣裤;饭盒是容器,用来装载饭菜。那么变量是装载什么的呢?答案是数据!结论:变量是内存中装载数据的小盒子,你...

T_personality的博客 577

Cocos Creator发布微信小游戏:深度定制与去除默认加载页面的实践指南

本文详细介绍了如何使用Cocos Creator发布微信小游戏时去除默认加载页面的实践方法。通过修改构建配置和重写启动逻辑,开发者可以自定义加载体验,提升品牌一致性。文章还提供了进阶优化方案和常见问题解决方案,帮助开发者实现更专业的微信小游戏发布流程。

weixin_27972919的博客 568

java 参数赋值_在Java中两种不同的对变量赋值方式

在Java中有两种不同的对变量赋值方式,一种是直接将一个值赋给变量。例如:int a = 1;String s = "abc";Integer in = 125;另外一种是创建一个对象,并将其赋给一个变量。例如:String s = new String("abc")Integer in = new Integer(125);两种方式的不同之处在于:第一种方式变量的值存储在堆栈中,当下一次定义一个...

weixin_39737001的博客 1243

KITTI数据集下载及解析

KITTI数据集下载及解析 版本 更新时间 更新内容 作者 1 V 1.0 xxx 完成主体内容 W. Xiao 2 文章目录KITTI Dataset1 简介1.1 数据采集平台1.2 坐标系2 数据解析2.1 image文件2.2 velodyne文件2.3 calib文件2.4 label文件3 KITTI可视...

u013086672的博客 5万+

Rocky Linux 9 远程桌面配置全攻略:从零搭建XRDP服务(含防火墙设置)

本文提供了在Rocky Linux 9上从零开始配置XRDP远程桌面服务的完整指南。详细介绍了系统准备、XRDP服务安装、防火墙与SELinux安全设置、多用户性能优化以及多平台客户端连接实测。重点解决了使用Windows远程桌面协议(RDP)连接Rocky Linux时常见的配置难点与安全问题,帮助用户获得稳定高效的图形化远程访问体验。

vodka的博客 648

告别语法混乱!Java基础语法01:理清变量、数据类型与运算符

本文是Java基础学习笔记的第二篇,主要讲解了变量、数据类型与运算符等基础知识。内容包括:1)三种注释方式及其使用方法;2)关键字和字面量的概念与示例;3)变量的定义规则和6个注意事项;4)标识符的命名规则和驼峰命名规范。通过具体代码示例,帮助初学者掌握Java基础语法,为后续学习打下坚实基础。适合Java编程入门者阅读参考。

Natural_Pride的博客 682

剑灵解包器修改xml.dat文件修改乳量方法

本篇内容是基于单机版网游改单机版游戏剑灵的内容,主要针对关于单机版进行数据修改,当然了对于网端有关于剑灵已有很多,像小助手等多种可以更改,但是存在有封号危险,好,下面我们是在单机版中来进行乳量的修改教程。

灵魂学者的博客 3306

【JAVA-2】第二章 Java基本语法01:变量与运算符

1.关键字和保留字 1.1关键字(keyword)的定义和特点: 1.2 保留字 2.标识符 3.变量 3.1基本数据类型 ASCALL||Unicode||UTF-8 3.3基本数据类型与String间转换 3.3进制与进制间的转换 4.运算符

MengYa_Dream的博客 917

YOLO26改进策略【多YAML融合】| UNetV2 + BiFormer + WIoU

Wise-IoU是一种基于IoU的损失函数,旨在解决目标检测中边界框回归损失函数在处理低质量训练数据时的问题。

Limiiiing的博客 218

BACnet协议栈基本对象BI、BO、AI、AO、AV以及device和File对象介绍

BACnet协议栈基本对象BI、BO、AI、AO、AV以及device和File对象介绍

shufawangzhang的博客 3987

01-2、JavaSE知识点总结_Java基本语法(变量与运算符)

JavaSE知识点总结idea快捷键ctrlAltshiftctrl + alt构造方法this关键字static关键字静态代码块实例代码块继承extends重写Override注意:多态instanceof运算符final关键字常量包访问控制权限修饰符总结super关键字抽象类抽象方法接口Object类内部类静态内部类成员内部类局部内部类(匿名内部类是局部内部类的一种)匿名内部类 idea快捷键 行选择列选择转换 alt + shift + insert ctrl 快捷键 解释 ctrl

马上要秃头的我 778

详解RT-DETR网络结构/数据集获取/环境搭建/训练/推理/验证/导出/部署

本文给大家带来是利用RT-DETR模训练自己的数据集,RT-DETR是一种新提出的目标检测模型,它利用的自注意力机制来处理图像数据。不同于YOLO通过连续的卷积层直接对图像区域进行分析,RT-DETR采用Transformer架构中的自注意力机制,这允许模型更有效地理解图像中不同部分之间的关系。这种方法使得RT-DETR在处理图像中的复杂场景和多对象环境时,能够展现出更高的准确性和效率。此外,RT-DETR在保持高精度的同时,也针对实时处理进行了优化,使其适合需要快速响应的应用场景。

Snu77的博客 6万+

【JavaSE---01】java语法 「数据类型 | 变量命名 | 不同进制赋值 | 类型转换 | 运算符 | 控制结构」

0. 基本事项 1. 变量 1.1 数据类型 1.2 变量名命名 1.3 不同进制赋值 1.4 类型转换 1.4.1 基本数据类型间的自动类型转换 1.4.2 基本数据类型间的强制类型转换 1.4.3 引用类型与其他类型的转换 1.4.4 练习 2. 运算符 3. 控制结构 3.1 分支结构 3.2 循环结构

渐渐的忘记,赶不上明天(读研ing,2024年毕业) 219

《大数据最全面试题-Offer直通车》目录

做好这些不用担心试用期不通过:程序员入职新公司如何快速上手项目本人遇到大数据面试题和参考答案(超过1万字精华版)大数据面试英文自我介绍参考(万字长文)大数据运维应用场景面试题汇总及参考答案(持续更新)万字数据仓库面试题及参考答案数据仓库数据质量监控和处理方法最佳实践数据仓库建模方法万字详解Doris的3种数据模型详解和数据仓库每一层的模型选用大数据面试临阵磨枪不知看什么?看这份心理就有底了-大数据常用技术栈常见面试100道题最全Hive面试题2024年(2万字详解)Elasticsearch 面试题及参考答

大模型大数据攻城狮的专栏 2642

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Python100天学习笔记 Day01-05

Python - 100天从新手到大师 项目地址:https://github.com/jackfrued/Python-100-Days 本文代码皆为自己手撸,标程请参考每一节自带的code 目录 Python - 100天从新手到大师 Day 01 初识Python Day 02 语言元素 Day 03 分支结构 Day 04 循环结构 Day 05 构造程序逻辑 Day ...

lrxcmwy2的博客 1125

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Java基础——java的基本语法(变量、运算符、流程控制)

Java基础——java的基本语法1 Java基础知识图解 关键字 关键字的定义和特点: 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中所有字母都为小写 保留字 Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用。自己命名标记符时要避免使用这些保留字 byValue、cast、future、 generic、 inner、 opera...

abelboy的博客 6989

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java基础语法

java基础语法1. Java概述1.1 Java语言发展史(了解)1.2 Java语言跨平台原理(理解)1.3 JRE和JDK(记忆)1.4 JDK的下载和安装(应用)1.4.1 下载1.4.2 安装1.4.3 JDK的安装目录介绍2. 第一个演示程序2.1 常用DOS命令(应用)2.2 Path环境变量的配置(应用)2.2.1 为什么配置环境变量2.2.2 配置环境变量步骤2.3 HelloWorld案例(应用)2.3.1 Java程序开发运行流程2.3.2 HelloWorld案例的编写2.3.3 H

鼠爷 4750

[Java基本语法] 常量变量与运算符

此时JVM会将字节码转换成平台能够理解的形式来运行。

无需多言 1328

Java基础语法(变量与运算符)

Java基础语法(变量和运算符)

m0_73787147的博客 1096

【后端开发】01-Java基础语法

Java是SUN公司于1995年开发的一门高级程序设计语言

qq_44536300的博客 1907

JAVA基础——数据类型,变量,运算符

在Java中数据类型主要分为两类:基本数据类型和引用数据类型。

2501_91555527的博客 1943

day01 - Java基础语法

JAVA基础回顾

Cat God 007的博客 1319

【Java基础02】Java变量及运算符

【Java基础02】Java变量及运算符 文章目录【Java基础02】Java变量及运算符1、基础语法2、变量3、常量4、运算符①算术运算符②关系运算符③逻辑运算符 1、基础语法 public class Java01{ public static void main(String[] args){ //两个斜杠是单行注释 /* 第一个Java程序 斜杠加星号是多行注释 */ System.out.println("H

阿涛的敲码时光 658

Java基础语法

Java中的注释有三种。

m0_74929801的博客 1903

JavaSE核心知识点01基础语法

JavaSE核心知识点01基础语法

感谢阅读 1833
上一篇: Java学习2——HelloWorld
下一篇: Java基础语法02——流程控制
Etlevent
博客等级 码龄6年 5粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Etlevent

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值