【Java入门】注释、关键字、常量、变量、数据类型

news2024/9/25 11:16:28

注释:

作用 : 可以记录代码所实现的功能,方便程序员或代码编写者阅读代码以及方便他人更好理解代码

注释分类:

  • 单行注释 格式: //注释信息
  • 多行注释 格式: /注释信息/
  • 文档煮熟 格式:/** 注释信息*/
/**
 * 文档注释
 */
public class Demo {
    /*
    多行注释
     这是main方法
    */
    public static void main(String[] args) {
	// 单行注释  打印Hello World!
        System.out.println("Hello World!");
    }
}

关键字

关键字:就是被Java语言赋予了特定含义的单词

关键字的特点:关键字的字母全部小写

标识符

标识符是用户编程时使用的名字,用于给类、方法、变量、常量等命名。

Java中标识符的组成规则:
由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。
不能使用java中的关键字作为标识符。
标识符对大小写敏感(区分大小写)。

Java中标识符的命名约定:

1、小驼峰式命名:变量名、方法名
首字母小写,从第二个单词开始每个单词的首字母大写。
2、大驼峰式命名:类名
每个单词的首字母都大写。
另外,标识符的命名最好可以做到见名知意
例如:username、studentNumber等。

常量、变量及数据类型

常量:在java程序中固定不变的数据

变量:在java程序中可以变化的量称为变量

注意:定义的变量,不赋值不能使用

java的数据类型分为两大类:

基本数据类型:整数、浮点数、字符、布尔
引用数据类型:类、数组、接口

基本数据类型:
java的四类八种数据类型:
逻辑型:boolean
取值范围:true/false

文本型:char
取值范围:两个字节

整数型:byte short int long
取值范围:byte<short<int<long

浮点型:float double
取值范围:float<double

public static void main(String[] args) {

        /*输出常量*/
        //输出整型常量
        System.out.println(100);
        //输出小数常量
        System.out.println(1.00);
        //输出字符常量
        System.out.println('a');
        //输出布尔常量
        System.out.println(true);
        //输出字符串常量
        System.out.println("HelloWorld");

        /*定义变量   数据类型 变量名 = 数据值*/
        //定义字节型变量
        byte b = 16;
        System.out.println(b);
        //定义短整型变量
        short s = 1000;
        System.out.println(s);
        //定义整型变量
        int i = 1024;
        System.out.println(i);
        //定义长整型变量
        long l = 1234567890L;
        System.out.println(l);
        //定义单精度浮点型变量
        float f = 1.1f;
        System.out.println(f);
        //定义双精度浮点型变量
        double d = 8.88;
        System.out.println(d);
        //定义布尔型变量
        boolean bool = true;
        System.out.println(bool);
        //定义字节型变量
        char c = 'C';
        System.out.println(c);


    }

运算符
算数运算符:+ - * % / ++ –
赋值运算符:= += -= *= /= %=
比较运算符:== < > <= >= !=
逻辑运算符:&& || !
三元运算符:数据类型 变量名 = 波尔类型表达式?结果1:结果2

 public static void main(String[] args) {
        //算术运算符
        int i = 0;
        i = i + 5;
        System.out.println(i);
        //赋值运算符
        int j = 1;
        j += 5;
        System.out.println(j);

        //比较运算符
        int p = 2, q = 4;
        //若括号里面为p>q成立则输出true否则输出false
        System.out.println(p > q);

        //逻辑运算符
        System.out.println(true && true);//输出true
        System.out.println(true && false);//输出false

        /*三目运算符
        数据类型 变量名 =布尔表达式?结果1:结果2
        若布尔表达式结果为真则将结果1赋值给k,否则将结果2赋值给k*/

        int k = (1 < 2 ? 100 : 200);
        System.out.println(k);

    }

运算符操作

一、字符的“+”操作:

是拿字符在计算机底层对应的数值来进行计算的(详情可参照Ascii码表)

二、在算术运算符的操作中,如果算术表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。

提升规则:

1、byte类型、short类型和char类型将被提升到int类型

2、整个表达式的类型自动提升到表达式中最高等级操作数同样的类型

等级顺序:byte,short,char–>int–>long–>float–>double

例子:

public class Main {

    public static void main(String[] args) {
        char a = 'a';
        int b = 10;
        int c = a + b;

        //char c = a + b; 程序报错
        System.out.println(c);//打印107,字符‘a’代表数值97
        
        int x = 10;
        double y = 11.12;
        //int z =x+y; 程序报错
        double z = x + y;
        System.out.println(z);
    }
}

三、字符串的“+”操作

字符串的+操作相当于拼接字符串

例子:

public class Main {

    public static void main(String[] args) {
        //打印结果为HelloWorld
        System.out.println("Hello"+"World");

        //注意  打印结果为   HelloWorld666
        System.out.println("Hello"+"World"+666);

        //注意  打印结果为   666HelloWorld
        System.out.println(666+"Hello"+"World");

        //结果是100566HelloWorld
        System.out.println("Hello"+"World"+100+566);

        /*注意
        结果并不是100566HelloWorld  而是666HelloWorld
        有两个整型数值要先做加法运算在进行字符串的拼接*/
        System.out.println(100+566+"Hello"+"World");
    }
}

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

赋值运算符

赋值运算符包括:赋值=、加后赋值+=、减后赋值-=、乘后赋值*=、除后赋值/=、取余后赋值%=

public class Main {

//加后赋值
    public static void main(String[] args) {
        //把10赋值给int类型变量i
        int i = 10;
        //+=把左边和右边的数据做加法操作,结果赋值给左边
        //i+=20; 结果与下面的语句一致
        i = i + 20;
        System.out.println(i);

        short a = 10;
        //注意:扩展的赋值运算符底层隐含了强制类型转换
        a += 20;
        //a += (short) 20;
        System.out.println(a);
    }
}

自增自减运算符‘++’ ‘–’

注意++ --的位置

public class Main {

    public static void main(String[] args) {
        //单独使用时,++位置不同结果没有影响
        int i = 0;
        i++;
        System.out.println(i);

        int x = 0;
        ++x;
        System.out.println(x);

        //参与操作使用时,++的位置会影响结果
        //注意: y = z++ ,是先把z的值赋值给y之后,z才执行++操作
    /*    int z = 10 ;
        int y = z++;
        System.out.println(z);//输出结果为11
        System.out.println(y);//输出结果为10
*/
        //注意: y = ++z ,变量是先进行++操作,然后再进行赋值

        int z = 10 ;
        int y = ++z;
        System.out.println(z);//输出结果为11
        System.out.println(y);//输出结果为11

    }
}

关系运算符(比较运算符)

判断事件的真假要么是true要么是false

public class Main {

    public static void main(String[] args) {
        int x = 10;
        int y = 20;
        int z = 30;

        //判断括号内是否为真  
        System.out.println(x > y);//x的数值比y的数值小,所以x>y不成立 false
        System.out.println(x < y);//true
        System.out.println((x + y) == z);//true
        System.out.println((x + y)= z);//false

    }
}

逻辑运算符:(与、或、非、异或)

public class Main {

    public static void main(String[] args) {
        int x = 10;
        int y = 20;
        int z = 30;

        //与 &
        System.out.println((x & y) > 0);//x和y都大于0  true
        System.out.println((x + y) & (y + z));//x+y 和y+z 都大于0 true
        //或 |
        System.out.println((y | z) > x);//y和z有一个为真则为真  true
        System.out.println((x + y) | (y + z));//x+y和y+z有一个大于0则为真  true
        //非 !
        System.out.println(!(x > y));//x>y为false !(x+y)则为true
        //异或 ^
        System.out.println((x > y) ^ (y > z));//(x>y)和(y>z)两者不同则为真  相同则为false
    }
}

短路逻辑运算符

短路或|| 短路与&&

逻辑与&:无论左边真假,右边都要执行

短路与&&:如果左边为真,右边执行;如果左边为假,右边不执行

逻辑|:无论左边真假,右边都要执行

短路与||:如果左边为假,右边执行;如果左边为真,右边不执行

public class Main {

    public static void main(String[] args) {
        int x = 10;
        int y = 20;
        int z = 30;
        //以下两个语句的结果都是一样的,但是短路或一旦判断有一个为真,则后面的语句不在执行和判断
        System.out.println((x++)<100||(y++)>100);//短路或 ||   true
        System.out.println(x+"---"+y);//x = 11 ,y = 10  已经判断x++<100 为真,所以y++不执行
       // System.out.println((x++)<100|(y++)>100);//true

        //短路与,一旦判断有一个为假,则后面语句不再执行
        System.out.println((x++)>100&&(y++)>100);//false
        System.out.println(x+"---"+y);//x=12,y=10   
        // System.out.println((x++)>100|(y++)>100);//false
    }
}

三元运算符

格式:关系表达式?表达式1:表达式2;

规则:

如果关系表达式的值为真,则表达式1的值就是运算结果

如果关系表达式的值为错,则表达式2的值就是运算结果

public class Main {

    public static void main(String[] args) {
        int x = 10;
        int y = 20;

        //判断x>y的真假情况  为真则为x  为假则为y
        int z = x > y ? x : y;//x>y为false 所以 z=20
        System.out.println(z);
    }
}

数据类型转换
自动转换:
将取值范围小的类型自动提升为取值范围大的类型(数据类型 变量名 = 被转数据值)
强制转换:
将取值范围大的类型强制转换成取值范围小的类型(数据类型 变量名 = (数据类型)被转数据值)
注意:
1、自动转换是java自动执行的,而强制转换需要我们手动执行
2、范围大的强制转成范围小的会造成数据损失精度,或者数据丢失(不建议使用)
public static void main(String[] args) {
double i = 10;//自动转换 取值范围小的类型自动提升为取值范围大的类型

    //  int j=10.1;//取值范围大的类型--转变-->取值范围小的类型(报错)
    int k = (int) 10.1;//强制转换  取值范围大的类型---->取值范围小的类型

    System.out.println(i + " " + k);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/689068.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TCP的socket API

1、核心类 ServerSocket &#xff1a;服务器使用的socket Socket : 服务器和客户端都会使用的socket accept进行的工作是拉客 对应操作系统来说&#xff0c;建立TCP连接是内核的工作 accept要干的就是等连接建立好了&#xff0c;把这个连接给拿到应用程序中。 如果当前连接…

chatgpt赋能python:Python获取文件后缀名

Python获取文件后缀名 在Python编程中&#xff0c;经常需要获取文件的后缀名&#xff0c;例如在处理文件上传、下载、压缩等操作时&#xff0c;需要对文件后缀名进行判断和处理。本文将介绍Python获取文件后缀名的两种常用方法。 方法一&#xff1a;使用split()函数 Python的…

【C语言初阶(2)】循环语句:while 循环

文章目录 1. while 语句介绍1.1 语法结构1.2 while 语句执行的流程 2. while 语句中的 break 和 continue2.1 break 介绍2.2 continue 介绍 我们已经掌握了 if 语句&#xff0c;当条件满足的情况下&#xff0c;if 语句的后的语句执行&#xff0c;反之不执行&#xff1b; 但是 i…

ChatGPT最新版多功能批量写作工具激发创作的无限可能

随着科技的不断发展&#xff0c;人工智能逐渐渗透到各个领域&#xff0c;其中包括写作领域。近年来&#xff0c;OpenAI推出的ChatGPT最新版多功能批量写作工具&#xff0c;为写作者们带来了全新的创作体验。这一工具不仅能够帮助写作者提高工作效率&#xff0c;还能够激发创作的…

chatgpt赋能python:Python获取定位的SEO指南

Python获取定位的SEO指南 什么是SEO SEO&#xff0c;即搜索引擎优化&#xff0c;是通过对网站进行优化&#xff0c;提高排名&#xff0c;从而增加搜索引擎来的流量&#xff0c;并达到提高转化率的目的。在这个数字时代&#xff0c;对于大多数网站来说&#xff0c;SEO已经成为…

idea maven 中模块显示灰色,依赖不加载

idea maven 中模块显示灰色&#xff0c;依赖刷新了几次都无法加载引入 后面发现是被MAVEN设置忽略了 去掉忽略文件然后reimport &#xff0c;就正常了

通过cifar-10数据集理解numpy数组的高(H)、宽(W)、通道数(C)

文章目录 1、CIFAR-10数据集介绍1.1 CIFAR-10数据集的构成1.2 batches.meta1.3 data_batch_n.py & test_batch.py 2、获取一张图片的data数据2.1 反序列化获得numpy数据2.2 清楚numpy中的H、W、C的含义2.3 清楚RGB图片在numpy中的表示 3、处理图片数据的代码 1、CIFAR-10数…

IDEA启动报错:Process finished with exit code 0

问题 SpringBoot项目启动后自动关闭 方案一 在pom中添加spring-boot-starter-web依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId> </dependency>方案二 在pom中…

CodeTON Round 5 (Div. 1 + Div. 2, Rated, Prizes!) A-D

1842A - Tenzing and Tsondu 题意 丁真和珍珠宝可梦对决, 每个宝可梦都有x战力, 假设有两个宝可梦, 其战力分别为a和b(a>b), 战力为a的宝可梦获胜后战力-b, 而战败的宝可梦会消失 最后还有宝可梦的人获胜 问你丁真和珍珠谁赢了 题解 显而易见, 赢下来的宝可梦可以继续打…

GcWord 6.1.4 Crack -GrapeCity Documents for Word

用于 Microsoft Word 文档的 .NET 6 API 通过代码完全控制您的 Word 文档&#xff0c;而不依赖于 Microsoft Word。 生成、加载、编辑和保存 Word 文档 基于 Microsoft Office API 的功能丰富的对象模型 从头开始或使用生成报告 报告模板 兼容多种平台&#xff0c;例如 Window…

vue-cli2 碎碎念念

vue create 和 vue init webpack 的区别&#xff1a; https://blog.csdn.net/qq_45955152/article/details/123506724 https://blog.csdn.net/qq_22182989/article/details/103611934 区别1&#xff1a; 区别2&#xff1a; 实践&#xff1a;

CadLib 4.0.2023.31601 net for Windows Crack

CadLib 4.0 for Windows&#xff1a;在 C# VB .NET 中读取、写入和显示 AutoCAD DWG 和 DXF 文件 CadLib 4.0 for Windows仅在Windows上运行&#xff0c;并且基于.NET 4.x。 CadLib 4.0读取、写入和显示 C#、VB.NET 或任何其他 .NET 语言的 AutoCAD™ DWG 和 DXF 文件。下载试…

Selenium教程__浏览器窗口大小(6)

本文将介绍如何使用Selenium来获取和设置浏览器窗口的大小&#xff0c;以及一些实际应用场景。 学习本文内容将能够轻松地控制浏览器窗口的大小&#xff0c;从而更好地适应不同的屏幕分辨率和设备&#xff0c;并确保网页在各种窗口大小下都能够良好地展示。 import time fro…

机器学习(二)逻辑回归

Logistic Regression 虽然被称为回归&#xff0c;但其实际上是分类模型&#xff0c;并常用于二分类。 Logistic 回归的本质是&#xff1a;假设数据服从这个分布&#xff0c;然后使用极大似然估计做参数的估计。 逻辑回归API介绍 sklearn.linear_model.LogisticRegression(sol…

配置apache只允许通过域名通过ssl访问

配置好IP&#xff0c;配置好bind解析 Yum安装相关软件包 进入证书目录 先用date –s 设置正确的系统时间。 创建私钥 创建证书 把私钥转换成不需要密码的 把私钥移动到私钥目录 编辑/etc/httpd/conf.d/ssl.conf 设置根目录&#xff0c;主机名。 限制80端口访问。在最后插入 设…

蜘蛛池包收录 - 百度代发排名

蜘蛛池包收录 - 百度代发排名 通话时长越长点击扣费越多吗&#xff1f; 相信这个是很多推 OCPC 用户都关注的问题&#xff0c;因为有时候接了一个电话&#xff0c;跟客户通了十几分钟&#xff0c;挂断之后发现竟然点一下扣了一百多&#xff0c;甚至二百多&#xff0c;这是什么…

Elasticsearch 分组分页排序查询

背景&#xff1a;elasticsearch聚合之后进行分页是非常常见的操作 实现思路&#xff1a; 基于es聚合函数bucket_sort、terms和指标聚合cardinality实现 实现方式&#xff1a;(以会员编码分组分页展示会员最近一条时间记录排序为例)&#xff1a; 1、查询实现 // 桶排序聚合Bu…

【数据库七】搭建MySQL主从复制和读写分离详解

详解搭建搭建MySQL主从复制和读写分离 1.案例实施&#xff1a;搭建MySQL主从复制1.1 主节点数据库&#xff08;CentOS 7-5&#xff09;1.2 从节点数据库&#xff08;CentOS 7-6&#xff09;1.3 从节点数据库&#xff08;CentOS 7-7&#xff09;1.4 验证MySQL主从复制 2.案例实施…

Scala的foldLeft与foldRight详解

foldLeft与foldRight是特质TraversableOnce定义的高阶函数&#xff0c;直译过来为向左折叠和向右折叠。具体实现如下摘出的代码所示&#xff1a; trait TraversableOnce[A] extends Any with GenTraversableOnce[A] {deprecated("Use foldLeft instead of /:", &quo…

lesson7-1 Zigbee协议栈的使用

目录 协议栈的使用 协议栈的安装和协议栈工程创建 协议栈工程配置 选项卡选择 用户代码编写注意 信道选择及PANID分配 协议栈的使用 协议栈的安装和协议栈工程创建 首先进行协议栈的安装 如何创建自己的协议栈工程&#xff1a; &#xff08;1&#xff09;先把整个协议…