第二章 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的基础知识,因此就 ...
随机推荐
- [NLP] REFORMER: THE EFFICIENT TRANSFORMER
1.现状 (1) 模型层数加深 (2) 模型参数量变大 (3) 难以训练 (4) 难以fine-tune 2. 单层参数量和占用内存分析 层 参数设置 参数量与占用内存 1 layer 0.5Bill ...
- Repeater 横向显示数据
<asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <ul s ...
- Linux傻瓜式七步完美安装Python3.7
1 安装依赖包 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-deve ...
- 如何实现html页面自动刷新
使用场景: 1. 页面需要定时刷新,实时加载数据,需要实时查看监控数据(H5中的WebSocket和SSE可以实现局部刷新) 2. 一定时间之后跳转到指定页面(登录注册之类) 3. 前端开发使用伪数据 ...
- 3W字干货深入分析基于Micrometer和Prometheus实现度量和监控的方案
前提 最近线上的项目使用了spring-actuator做度量统计收集,使用Prometheus进行数据收集,Grafana进行数据展示,用于监控生成环境机器的性能指标和业务数据指标.一般,我们叫这样 ...
- 图形处理:给 Canvas 文本填充线性渐变
作者:凹凸曼 - Barrior 在 Canvas 中对文本填充水平或垂直的线性渐变可以轻易实现,而带角度的渐变就复杂很多:就好像下面这样,假设文本矩形宽为 W, 高为 H, 左上角坐标为 X, Y. ...
- day35 socket套接字介绍
目录 一.套接字发展史与分类 二.套接字工作流程 三.基于tcp的套接字 一.套接字发展史与分类 套接字起源于 20 世纪 70 年代加利福尼亚大学伯克利分校版本的 Unix,即人们所说的 BSD U ...
- Let's GO(二)
人生苦短,Let's GO Let's GO(一) Let's GO(二) Let's GO(三) Let's GO(四) 今天我学了什么? 1. Map map:映射,使用散列表(hash)实现 m ...
- JVM 专题十一:运行时数据区(六)方法区
1. 栈.堆.方法区关系交互 运行时数据区结构图: 从线程共享与否的角度来看: 2. 方法区的理解 2.1 方法区在哪里? <Java虚拟机规范>中明确说明:“尽管所有的方法区在逻辑上属于 ...
- Flask 基础组件(八):message
message是一个基于Session实现的用于保存数据的集合,其特点是:使用一次就删除. from flask import Flask, flash, redirect, render_templ ...