第二章 Java基础知识(上)
2.1、注释
单行注释 // 注释内容
多行注释 /* 注释内容 */
文档注释 /**注释内容 */
2.2、关键字
定义:在Java语言中被赋予特殊含义的小写单词
分类:
2.3、标识符
定义:标识符就是给常量、变量、类、方法起名字
注意:
- 标识符由字母、数字、下划线"_"、美元符号"$"组成
- 标识符不能以数字开头
- 标识符不能是关键字
- 标识符严格区分大小写
格式:
常量的命名法:常量
规则:每个单词都大写,单词与单词之间用下划线分隔
举例:STUDENT_NUMBER
小驼峰命名法:变量名、方法名
规则:首字母小写,从第二个单词开始每个单词的首字母大写
举例:studentName
大驼峰命名法:类名
规则:每个单词的首字母都大写
举例:StudentInfo
2.4、常量
定义:在程序运行期间,其值不会发生改变的量,被称为常量
分类:
2.5、数据类型
分类:
范围:
注意:
int a = 0b11111111;// 二进制
int b = 0377;// 八进制
int c = 255;// 十进制
int d = 0xff;// 十六进制
2.6、变量
定义:在程序运行期间,其值可以发生改变的量,被称为变量
格式:
变量类型 变量名 = 初始化值;
变量类型 变量名;
变量名 = 初始化值;
注意:
- 同一对大括号内,变量名称不能重复
- 在变量使用之前,必须要进行初始化
- long数据后边需要加L、float数据后边需要加F
- 整数默认是int类型、浮点默认是double类型
2.7、类型转换
自动类型转换:把小范围数据类型赋值给大范围数据类型,由于精度并不会丢失,因此这种转换是自动的
如图:
强制类型转换:把大范围数据类型赋值给小范围数据类型,由于精度可能会丢失,因此需要进行强制转换
格式:目标数据类型 变量名 = (目标数据类型)(表达式或变量);
2.8、运算符和表达式
运算符:对常量或者变量进行操作的符号
表达式:用运算符把常量或者变量连接起来符合Java语法的式子被称为表达式
2.8.1、算术运算符
| 符号 | 作用 | 举例 | 说明 |
|---|---|---|---|
| + | 加 | 7+3 | 7+3=10 |
| - | 减 | 7-3 | 7-3=4 |
| * | 乘 | 7*3 | 7-3=21 |
| / | 除 | 7/3 | 7/3=2 |
| % | 取余 | 7%3 | 7%3=1 |
2.8.2、自增和自减
| 符号 | 作用 | 举例 | 说明 |
|---|---|---|---|
| ++ | 自增 | int i = 10; i++; |
i=11 |
| -- | 自减 | int i = 10; i--; |
i=9 |
注意:
- 参与操作的时候,如果放在变量的前边,先加在运算
- 参与操作的时候,如果放在变量的后边,先运算在加
2.8.3、赋值运算符
| 符号 | 作用 | 举例 | 说明 |
|---|---|---|---|
| = | 赋值 | a=10 | 将10赋值给变量a |
| += | 加后赋值 | a+=b | 将a+b的值给变量a |
| -= | 减后赋值 | a-=b | 将a-b的值给变量a |
| *= | 乘后赋值 | a*=b | 将a*b的值给变量a |
| /= | 除后赋值 | a/=b | 将a/b的值给变量a |
| %= | 取余后赋值 | a%=b | 将a%b的值给变量a |
注意:
short s = 10;
s = s + 10; //此行代码报错,因为运算中s提升为int类型,运算结果int赋值给short可能损失精度
short s = 10;
s += 10; //此行代码正确,隐含了强制类型转换,相当于 s = (short)(s + 10);
2.8.4、关系运算符
| 符号 | 作用 | 举例 | 说明 |
|---|---|---|---|
| == | 判断是否相等 | a==b | 判断a和b的值是否相等,成立为true,不成立为false |
| != | 判断是否不等 | a!=b | 判断a和b的值是否不等,成立为true,不成立为false |
| > | 判断是否大于 | a>b | 判断a是否大于b,成立为true,不成立为false |
| >= | 判断是否大于等于 | a>=b | 判断a是否大于等于b,成立为true,不成立为false |
| < | 判断是否小于 | a<b | 判断a是否小于b,成立为true,不成立为false |
| <= | 判断是否小于等于 | a<=b | 判断a是否小于等于b,成立为true,不成立为false |
2.8.5、逻辑运算符
| 符号 | 作用 | 说明 |
|---|---|---|
| & | 逻辑与 | “与”,并且的关系,只要表达式中有一个值为false,结果即为false |
| | | 逻辑或 | “或”,或者的关系,只要表达式中有一个值为true,结果即为true |
| ! | 逻辑非 | true变false、false变true |
| ^ | 逻辑异或 | 相同为false,不同为true |
| && | 短路与 | 作用和&相同,但是有短路效果,如果左边为false,右边就不执行了 |
| || | 短路或 | 作用和|相同,但是有短路效果,如果左边为true,右边就不执行了 |
2.8.6、三元运算符
格式:关系表达式 ? 表达式1 : 表达式2;
int a = 10;
int b = 20;
int max = a > b ? a : b;
2.9、数据输出和输入
数据输出:
输出后换行:System.out.println(常量/变量/方法返回值/对象/表达式);
输出不换行:System.out.print(常量/变量/方法返回值/对象/表达式);
换行:System.out.println();
数据输入:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
System.out.println(i);
}
}
第二章 Java基础知识(上)的更多相关文章
- 第二章 Java基础知识(下)
2.1.分支结构(if.switch) 2.1.1.if语句 格式一: if (关系表达式) { 语句体; } 流程一: ①首先计算关系表达式的值 ②如果关系表达式的值为true就执行语句体 ③如果关 ...
- java面向对象编程——第二章 java基础语法
第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...
- RxJava2实战--第二章 RxJava基础知识
第二章 RxJava基础知识 1. Observable 1.1 RxJava的使用三步骤 创建Observable 创建Observer 使用subscribe()进行订阅 Observable.j ...
- (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识
开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...
- 第二章Java基础之标识符
- JAVA基础第二章-java三大特性:封装、继承、多态
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...
- 第二十九节:Java基础知识-类,多态,Object,数组和字符串
前言 Java基础知识-类,多态,Object,数组和字符串,回顾,继承,类的多态性,多态,向上转型和向下转型,Object,数组,多维数组,字符串,字符串比较. 回顾 类的定义格式: [类的修饰符] ...
- Java基础知识了解
第一章 开发前言 一.java语言概述 Java是当下最流行的一种编程语言,至今有20年历史了.Java语言之父是James Gosling. Java是Sun公司(Stanford Universi ...
- 学习android学习必备的java基础知识--四大内部类
学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...
随机推荐
- 十.总结drf视图
一.对一个资源的五个操作: 如users资源: 序列化是把模型/表中数据以json格式的数据返回给前端,反序列化是把前端通过http post提交过来的json格式数据(data)插入到数据库. 小 ...
- 1年转行资深前端工程师,开源项目过 1k stars,完整学习过程
先介绍下大致情况时间线. 18 年 8 月正式转方向为前端,之前做了一段时间的 iOS,后来因为对前端更感兴趣所以就打算转方向了.19 年 10 月入职当前公司,定级资深前端,分配到业务架构小组,自此 ...
- 阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 并发调试之php-fpm配置及其与Nginx的通信
一.php-fpm的配置 1. php-fpm的配置,首先要关注进程数量. php-fpm的进程管理方式有三种:static.dynamic.ondemand. static方式,开启固定数量(pm. ...
- 精简CSS代码,提高代码的可读性和加载速度
前言 提高网站整体加载速度的一个重要手段就是提高代码文件的网络传输速度.之前提到过,所有的代码文件都应该是经过压缩了的,这可提高网络传输速度,提高性能.除了压缩代码之外,精简代码也是一种减小代码文件大 ...
- Intellij idea2020永久激活,亲测可用!!!(持续更新)
DEA 2020 破解 IntelliJ IDEA 2020最新激活码(亲测有效,可激活至 2089 年,持续更新~) 申明:本教程 IntelliJ IDEA 破解补丁.激活码均收集于网络,请勿商用 ...
- C/C++代码覆盖率统计工具:gcov&&gcovr安装和简单使用
gcov安装 Linux ver: gcov是gcc的自带功能 属于GNU 不用特别安装 Windows ver: 在windows下安装可以使用gcov的gcc 之前试过mingw和Cygwin64 ...
- git解决本地建立git仓库 连接远程git仓库出现拒绝合并问题
(git解决本地建立git仓库 连接远程git仓库出现拒绝合并问题) 第一步在本地创建仓库 在本地创建一个文件夹,cd 进入创建的文件夹之后 git init 创建仓库 ,ls -a 能够看到 .gi ...
- Linux 进程必知必会
上一篇文章只是简单的描述了一下 Linux 基本概念,通过几个例子来说明 Linux 基本应用程序,然后以 Linux 基本内核构造来结尾.那么本篇文章我们就深入理解一下 Linux 内核来理解 Li ...
- nuxt的使用中碰到的问题
使用npm run generate生成静态页面部署 如果不是部署在域名的根目录下,则需要在nuxt.config.js中添加 // nuxt.config.js export default { r ...
- Java 线程池中的线程复用是如何实现的?
前几天,技术群里有个群友问了一个关于线程池的问题,内容如图所示: 关于线程池相关知识可以先看下这篇:为什么阿里巴巴Java开发手册中强制要求线程池不允许使用Executors创建? 那么就来和大家探讨 ...