java 基础学习1

目录

一.注释

二.关键字

三.字面量

四.变量和标识符

五.键盘录入 

六.运算符


一.注释

1.单行注释://注释信息

2.多行注释:/* 注释信息*/

3.文档注释:/** 注释信息*/   

注:文档注释暂时用不上

二.关键字

关键字: 被Java赋予了特定涵义的英文单词。
1.关键字的字母全部小写。
2.常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观。 

例如:class关键字表示定义一个类,后面跟随类名

 

三.字面量

字面量:告诉程序员数据在程序中的书写格式

执行:

public class hlt1 {
    public static void main(String[] args) {
        System.out.println(123);
    }
}

注意:

null需要通过字符串形式打印出来

特殊字面量:

四.变量和标识符

 1.变量的声明:在使用变量之前,需要先声明它们。声明变量时需要指定变量的类型和名称。例如,int num; 声明了一个整数类型的变量名为 num。

2.变量的赋值:在声明变量后,可以通过赋值将具体的数据存储到变量中。例如,num = 10; 将整数值 10 赋给了变量 num。

3.变量的初始化:声明变量的同时也可以进行赋值操作,这称为变量的初始化。例如,int num = 10; 声明并初始化了一个整数类型的变量 num。

4.变量的命名规则:Java对变量命名有一些规则。变量名只能包含字母、数字、下划线和美元符号,并且不能以数字开头。此外,变量名是区分大小写的。

5.变量的作用域:变量的作用域指的是变量在程序中的可见范围。在Java中,变量可以具有不同的作用域,如方法内部、代码块内部或类的成员变量等。

6.数据类型:Java中的变量都有特定的数据类型,用于指定变量可以存储的数据范围和所占内存空间。常见的数据类型包括整数类型(如int、long)、浮点数类型(如float、double)、字符类型(char)和布尔类型(boolean)等。

注意:如果要定义long类型的变量,在数据值的后面需要加一个L作为后缀。

           定义float类型变量的时候,数据值也需要加一个F作为后缀。

五.键盘录入 

Java帮我们写好- -个类叫Scanner,这个类就可以接收键盘输入的数字。

 演示如何使用Scanner类实现键盘录入:

import java.util.Scanner;

public class KeyboardInputExample {
    public static void main(String[] args) {
        // 创建Scanner对象
        Scanner scanner = new Scanner(System.in);

        // 提示用户输入信息
        System.out.print("请输入您的姓名:");

        // 使用Scanner的nextLine方法获取用户输入的一行文本
        String name = scanner.nextLine();

        // 提示用户输入年龄
        System.out.print("请输入您的年龄:");

        // 使用Scanner的nextInt方法获取用户输入的整数
        int age = scanner.nextInt();

        // 输出用户输入的信息
        System.out.println("您的姓名是:" + name);
        System.out.println("您的年龄是:" + age);

        // 关闭Scanner对象
        scanner.close();
    }
}

在上面的示例中,我们通过创建Scanner对象并传入System.in参数来实现键盘录入。然后使用Scanner的nextLine方法获取用户输入的一行文本,使用nextInt方法获取用户输入的整数。最后,输出用户输入的信息。

注意:当使用Scanner类进行键盘录入时,需要确保输入的数据类型与所期望的数据类型相匹配,否则可能会出现异常。此外,在程序结束后,应该调用Scanner对象的close方法来关闭Scanner对象,释放资源。

六.运算符

运算符就是对常量或者变量进行操作的符号。比如: +  -  *  /

  • 表达式:

​   用运算符把常量或者变量连接起来的,符合Java语法的式子就是表达式。

​   比如:a + b 这个整体就是表达式。

​   而其中+是算术运算符的一种,所以这个表达式也称之为算术表达式。

  • 注意:

/:1.整数相除结果只能得到整除,如果结果想要是小数,必须要有小数参数。

2.小数直接参与运算,得到的结果有可能是不精确的。

System.out.println( 10 / 3);//3
System.out.println(10.0 / 3);//3.3333333333333335

%:取模、取余。

   他做的也是除法运算,只不过获取的是余数而已。

System.out.println(10 % 2);//0
System.out.println(10 % 3);//1
应用场景:
//可以利用取模来判断一个数是奇数还是偶数
System.out.println(15 % 2);//1  奇数
  • 隐式转换:(自动转换)

也叫自动类型提升。就是把一个取值范围小的数据或者变量,赋值给另一个取值范围大的变量。此时不需要我们额外写代码单独实现,是程序自动帮我们完成的。(就是小的给大的,可以直接给)

int i = 10;
double d = i; // 自动转换为 double 类型
System.out.println(d);//输出是10.0

* 取值范围小的,和取值范围大的进行运算,小的会先提升为大的,再进行运算。

* byte、short、char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算。

byte b1 = 10;
byte b2 = 20;
??? result = b1 + b2;//int
问变量result是什么类型的?

 因为b1和b2都是byte类型的。所以在参与计算的时候,变量b1和变量b2里面的值都会自动提升为int类型的。最终其实就是两个int类型的相加,最终结果也是int类型的。

取值范围从小到大的关系:

​   byte short int long float double

  • 强制转换

当一个大范围的数据类型被赋值给一个小范围的数据类型时,需要使用强制转换。强制转换可以通过将变量的类型放在括号中来实现。

double d = 10.5;
int i = (int) d; // 强制转换为 int 类型
System.out.println(i);

需要注意的是,强制转换可能会导致数据丢失(数据的精度丢失)或溢出,因此需要谨慎使用。

  •  自增自减运算符

放在变量的前面,我们叫做先++。 比如:++a

 放在变量的后面,我们叫做后++。 比如:a++

注意:不管是先++,还是后++。单独写在一行的时候,运算结果是一模一样的。

int a = 10;
a++;//就是让变量a里面的值 + 1
System.out.println(a);//11
++a;//就是让变量a里面的值 + 1
System.out.println(a);//12
  • 字符串的+操作

当+操作中出现字符串时,此时就是字符串的连接符,会将前后的数据进行拼接,并产生一个新的字符串。(字符串只有+操作,没有其他操作)

当连续进行+操作时,从左到右逐个执行的。

1 + "abc" + 1

结果:"1abc1"

1 + 2 + "abc" + 2 + 1

 结果:“3abc21” 

注意:第一步:1 + 2  在这个过程中,没有字符串参与的,所以做的是加法运算,结果为3。

第二步:3 + "abc"。在这个过程中,有字符串参与的,所以做的是拼接操作,产生一个新的字符串"3abc"。

​第三步:"3abc" + 2。在这个过程中,有字符串参与的,所以做的是拼接操作,产生一个新的字符串"3abc2"。

第四步:"3abc2" + 1。在这个过程中,有字符串参与的,所以做的是拼接操作,产生一个新的字符串“3abc21”

String name = "hzttao";
System.out.println("我的名字是" + name);

结果: 我的名字是hzttao

当字符串跟变量相加的时候,实际上是跟变量里面的值进行拼接。

  • 字符的+操作

当+操作中出现了字符,会拿着字符到计算机内置的ASCII码表中去查对应的数字,然后再进行计算。

char c = 'a';
int result = c + 0;
System.out.println(result);//97
  • 赋值运算符

public class OperatorDemo6 {
    public static void main(String[] args) {
        //1.最为简单的赋值运算符用法
        int a = 10;//就是把10赋值给变量a
        System.out.println(a);

        //2.如果等号右边需要进行计算。
        int b = 20;
        int c = a + b;//先计算等号右边的,把计算的结果赋值给左边的变量
        System.out.println(c);

        //3.特殊的用法
        a = a + 10;//先计算等号右边的,把计算的结果赋值给左边的变量
        System.out.println(a);//20
    }
}
  •  扩展赋值运算符

+=、-=、*=、/=、%=

注意:扩展的赋值运算符中隐层还包含了一个强制转换。

以+=为例:a += b ,实际上相当于 a = (byte)(a + b);

  • 关系运算符

注意:关系运算符最终的结果一定是布尔类型的。要么是true,要么是false

           在写==的时候,千万不要写成=

  • 逻辑运算符

&:逻辑与(而且)

​   两边都为真,结果才是真,只要有一个为假,那么结果就是假。

|:逻辑或(或者)

​   两边都为假,结果才是假,只要有一个为真,那么结果就是真。

  • ^(异或)的使用

如果两边相同,结果为false,如果两边不同,结果为true

  • !(取反)的使用

是取反,也叫做非。

false取反就是true,true取反就是false(取反最多只用一个)

  • 短路逻辑运算符

分类:  &&   ||

&&:运算结果跟&是一模一样的,只不过具有短路效果。

||:运算结果跟|是一模一样的。只不过具有短路效果。

逻辑核心 :

​   当左边不能确定整个表达式的结果,右边才会执行。 

​   当左边能确定整个表达式的结果,那么右边就不会执行了。从而提高了代码的运行效率。

例如:

1.用户名正确  & 密码正确

 如果使用一个&,不管用户名是否正确都会去验证密码。

2.用户名正确  &&  密码正确

​如果用户名输入正确了,那么才会验证密码是否输入正确。 如果用户名输入错误了,那么就不会再去验证密码是否正确,最终的结果直接为false。从而提高了程序运行的效率。

  • 三元运算符

又叫做:三元表达式或者问号冒号表达式。

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

计算规则:

 计算关系表达式的值。

 如果关系表达式的值为真,那么执行表达式1。

 如果关系表达式的值为假,那么执行表达式2。

int a = 10;
        int b = 20;

        //格式:关系表达式 ? 表达式1 : 表达式2 ;
        //注意点:
        //三元运算符的最终结果一定要被使用。
        //要么赋值给一个变量,要么直接输出。
       int max =  a > b ? a : b ;
  •  运算符的优先级

在Java中涉及了很多的运算符,每一种运算符都有各自的优先级。但是这些优先级不需要记忆。

我们只要知道其中一点: 小括号优先于所有。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AcWing 1015.摘花生(DP路线问题)(图解)

[路线问题] Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。 地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所…

obsidian阅读pdf和文献——与zotero连用

参考: 【基于Obsidian的pdf阅读、标注,构建笔记思维导图,实现笔记标签化、碎片化,便于检索和跳转】 工作流:如何在Obsidian中阅读PDF - Eleven的文章 - 知乎 https://zhuanlan.zhihu.com/p/409627700 操作步骤 基于O…

简单了解AJAX

文章目录 1、什么是AJAX2、AJAX快速入门3、Axios异步框架3.1、Axios 快速入门3.2、Axios 请求方式别名 1、什么是AJAX 概念:AJAX(Asynchronous JavaScript And XML):异步的 JavaScript 和 XML AJAX作用: 与服务器进行数据交换:通…

2024獬豸杯完整Writeup

文章目录 手机手机基本信息- 1、IOS手机备份包是什么时候开始备份的。(标准格式:2024-01-20.12:12:12)手机基本信息- 2、请分析,该手机共下载了几款即时通讯工具。(标准格式:阿拉伯数字)手机基本信息- 3、手…

go 实现暴力破解数独

一切罪恶的来源是昨晚睡前玩了一把数独,找虐的选了个最难的模式,做了一个多小时才做完,然后就睡不着了..........程序员不能受这委屈,今天咋样也得把这玩意儿破解了 破解思路(暴力破解加深度遍历) 把数独…

【NodeJS JS】动态加载字体的各方式及注意事项;

首先加载字体这个需求基本只存在于非系统字体,系统已有字体不需要加载即可直接使用; 方案1:创建 style 标签,写入 font-face{font-family: xxx;src: url(xxx)} 等相关字体样式;将style标签添加到body里;方…

2024017期传足14场胜负前瞻

2024017期赛事由亚洲杯2场、英总杯2场、德甲2场、意甲4场、西甲4场组成。售止时间为1月28日(周日)19点00分,敬请留意: 本期深盘场次同样适中,1.5以下赔率3场,1.5-2.0赔率6场,其他场次基本皆是平…

武汉大学齐民友教授简介

齐民友(1930年2月—2021年8月8日),男,出生于安徽省芜湖市,中国共产党优秀党员,数学家、教育家、偏微分方程专家,武汉大学原校长、数学与统计学院教授、博士生导师 。 齐民友于1948年考入武汉大…

(南京观海微电子)——OLED驱动与调试

一、OLED DDIC分类 OLED DDIC的技术方向可以分为3类:带Ram【内存】的IC、Ram-less IC和TDDI【显示&触控集成的IC】 1、带Ram的OLED DDIC OLED DDIC有两个Ram,分别是Demura Ram和Display Ram。 1、带Ram的OLED DDIC 1-1)Demura Ram&a…

课时6:编程语言逻辑

1.2.2 编程语言逻辑 学习目标 这一节,我们从 语言分类、编程逻辑、小结 三个方面来学习。 语言分类 语言分类 低级编程语言:机器:- 二进制的0和1的序列,称为机器指令。- 一般人看不懂汇编:- 用一些助记符号替代机…

Linux ---- Shell编程之函数与数组

目录 一、函数 1、函数的基本格式 2、查看函数列表 3、删除函数 4、函数的传参数 5、函数返回值 实验: 1.判断输入的ip地址正确与否 2. 判断是否为管理员用户登录 6、函数变量的作用范围 7、函数递归(重要、难点) 实验&#xff1…

山西电力市场日前价格预测【2024-01-28】

日前价格预测 预测说明: 如上图所示,预测明日(2024-01-28)山西电力市场全天平均日前电价为280.26元/MWh。其中,最高日前电价为556.88元/MWh,预计出现在18:15。最低日前电价为0.00元/MWh,预计出…

智能分析网关V4智慧机房:视频AI智能安全监管方案

一、背景分析 随着互联网的迅猛发展,机房及其配套设施的数量持续攀升,它们的运行状况对于企业运营效率和服务质量的影响日益显著。作为企业信息化的基石,机房的安全监测与管理的重要性不容忽视。它不仅关乎企业的稳定运营,同时也直…

Android Studio 提示Use app:drawableStartCompat instead of android:drawableStart

每次提交代码时,AS这个老妈子总爱唠叨一堆warning,这些Warning都在讲什么? 1.Use app:drawableStartCompat instead of android:drawableStart 在Android开发中,android:drawableStart和app:drawableStartCompat是两个用于设置…

Java多线程基础-18:线程安全的集合类与ConcurrentHashMap

Java标准库提供了很多集合类,但有一些集合类是线程不安全的,也就是说,在多线程环境下可能会出问题的。常用的ArrayList,LinkedList,HashMap,PriorityQueue等都是线程不安全的(Vector, Stack, Ha…

【C语言/数据结构】排序(选择排序,推排序,冒泡排序)

🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343🔥 系列专栏:《数据结构》https://blog.csdn.net/qinjh_/category_12536791.html?spm1001.2014.3001.5482 ​​​​ 目录 选择排序 选择排序 ​编辑…

【开源】基于JAVA语言的学生综合素质评价系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 学生功能2.2 教师功能2.3 教务处功能 三、系统展示四、核心代码4.1 查询我的学科竞赛4.2 保存单个问卷4.3 根据类型查询学生问卷4.4 填写语数外评价4.5 填写品德自评问卷分 五、免责说明 一、摘要 1.1 项目介绍 基于J…

美睫师睫毛嫁接零基础学习,日式美睫与开花嫁接实战教学

一、教程描述 大家都说女人的钱好挣,这是因为每个女人在每年,都要花很多钱来打扮自己。本套教程是关于日式美睫和开花嫁接的,从零基础学习到店铺经营都有涉及,就做美睫和睫毛嫁接这两项业务,月收入万元以上应该问题不…

ubuntu 22.04 安装mysql-8.0.34

ubuntu 22.04 安装mysql-8.0.34 1、基础安装配置 更新软件包: sudo apt update查看可用软件包: sudo apt search mysql-server安装最新版本: sudo apt install -y mysql-server或者,安装指定版本: sudo apt inst…

202|读书笔记《金融的本质:伯南克四讲美联储》

今天跟朋友聊天💬,说已经没人看书了📖 我想, 还是会有人读书的吧。 ​ 一、美联储的起源和使命 1. 第一讲:美国南北战争结束后的40年间,美国经历了6次大的银行体系恐慌,促使其于1913年成立美联储…