Java_基础(一)
注释
- 单行注释:
//
- 多行注释:
/*
开头,*/
结尾, 可跨行, 可嵌入
public static void main(String[] args/* 哈哈 */)
- 文档注释:
/**
开头,*/
结尾, 可以通过JDK提供的Javadoc命令生成程序的API文档
标识符
用于给变量, 常量, 方法, 类, 包等命名
规则:
- 由字母, 数字, 下划线, $组成, 注意不能以数字开头
- 大小写敏感, 长度无限制
- 不能是Java关键字
命名规范:
- 所有变量, 方法, 类名要做到见名知其意
- 常量: 全部字母大写, 单词之间有下划线隔开
- 类成员变量: 首字母小写, 后面每个单词首字母大写
- 局部变量: 首字母小写, 后面每个单词首字母大写
- 类名: 每个单词的首字母大写
- 方法名: 首字母小写, 后面每个单词首字母大写
关键字
abstract | assert | boolean | break | byte | case |
catch | char | class | const | continue | default |
do | double | else | extends | final | finally |
float | for | goto | if | implements | import |
instanceof | int | interface | long | native | new |
null | package | private | protected | public | return |
short | static | strictfp | super | switch | synchronized |
this | throw | throws | transient | try | void |
volatile | while |
变量及数据类型
变量: 可操作的存储空间
变量分类: 局部变量, 成员变量(实例变量), 静态变量
局部变量: 必须初始化, 先声明后赋值, 否则报错
成员变量: 从属于对象, 自动初始化,
类型 | 初始值 |
boolean | false |
char | \u0000 |
byte | (byte)0 |
short | (short)0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0 |
引用类型 | null |
静态变量: 从属于类,
二进制整数表示方法: 0b
或0B
开头, 如0b101
八进制整数表示方法: 以0
开头, 如013
十六进制整数表示方法: 0x
或0X
开头, 如0x11
运算符
一元算数运算符 | ++、-- |
二元算数运算符 | +、-、*、/、% |
赋值运算符 | = |
扩展运算符 | +=、-=、*=、/= |
关系运算符 | >、<、>=、<=、==、!=、instanceof |
逻辑运算符 | &、|、!、&&(短路与)、||(短路或)、^(异或) |
位运算符 | &、|、^、~、>>(无符号右移, 左边空位补0)、<<(左移, 右边空位以补0)、>>>(无符号右移, 左边空位补0) |
条件运算符 | ?: |
字符串连接符 | + |
整数运算:
两个操作数有一个为long, 则结果为long
没有long时, 结果为int类型, 即使操作类型全部为short, byte
浮点运算:
两个操作数只要有一个为double类型, 则结果为double类型
两个操作数都是float类型, 则结果为float类型
除法运算符
运算符两边若都为整型, 则结果为整型, 只要有一个为浮点型, 结果就为浮点型
取模运算符
其操作数可以为浮点数, 一般使用整型, 结果符号同操作符左边操作数一样
关系运算符
==、!=、可对所有数据类型(基本和引用)都可使用
<、<=、>、>=仅对数值类型及char类型有效
逻辑运算符:
短路与和短路或采用短路的方式, 即运算符左边的操作数能够是逻辑判断成立, 则不会继续计算操作符右边的表达式
位运算符:
&
和|
既是逻辑运算符, 又是位运算符, 如果操作符两边都是boolean类型, 就为逻辑运算符, 如果操作符两侧都是整数型就是位运算符
字符串连接运算符
只要有一个操作数是字符串, 自动变为字符串相连
运算符优先级(单目>算术>关系>逻辑>条件>赋值)
优先级 | 运算符 | 类 | 结合 |
1 | () | 括号运算符 | 由左至右 |
2 | !、+(正号)、-(负号) | 一元运算符 | 由左至右 |
2 | ~ | 位逻辑运算符 | 由右至左 |
2 | ++、-- | 递增与递减运算符 | 由右至左 |
3 | *、/、% | 算术运算符 | 由左至右 |
4 | +、- | 算术运算符 | 由左至右 |
5 | <<、>> | 位左移、位右移 | 由左至右 |
6 | >、>=、<、<= | 关系运算符 | 由左至右 |
7 | ==、!= | 关系运算符 | 由左至右 |
8 | & | 位运算符、逻辑运算符 | 由左至右 |
9 | ^ | 位运算符、逻辑运算符 | 由左至右 |
10 | | | 位运算符、逻辑运算符 | 由左至右 |
11 | && | 逻辑运算符 | 由左至右 |
12 | || | 逻辑运算符 | 由左至右 |
13 | ?: | 条件运算符 | 由右至左 |
14 | =、+=、-=、*=、/=、%= | 赋值运算符、扩展运算符 | 由右至左 |
类型转换
运算中相邻两个操作数先转化为同一类型, 转换从低级到高级, 然后进行运算
类型转换方向
低 ---------------------------------------> 高
byte-->short, char-->int-->long-->float-->double
自动类型转换指容量小的数据类型可以自动转换为容量大的数据类型
当将一种类型强制转换成另一种类型, 而又超出了目标类型的表示范围, 就会被截断成为一个完全不同的值
整型常量默认是int类型
long i = 7400000000; // 超出默认int类型值的范围
long j = 7400000000L; // 表明是7400000000是long类型
可以将整型常量直接赋值给byte, short, char等类型变量, 而不需要进行强制类型转换, 只要不超出其表数范围
short i = 12; // 合法
short b = 1234567; // 非法
浮点型常量默认是double类型
flout = 3.14; // 报错, 3.14默认是double类型
float = 3.14F; // 加F后表明3.14是float类型
- =右侧: 所有变量先转换为字节数最多的数据类型, 再计算
- =两侧: 左侧宽度>右侧宽度 自动转换
- =两侧: 左侧宽度<右侧宽度 强制转换
多余部分
switch结构: 根据表达式值的不同可以执行许多不同的操作.switch语句中case标签在JDK1.5之前必须是整型(long类型除外)或者枚举,不能是字符串类型, 在JDK1.7之后允许使用字符串String
break: 用于强行退出循环, 不执行循环中剩余的语句
continue: 用于终止某次循环过程, 跳出循环体中尚未执行的语句, 接着进行下一次循环的判断, 满足循环条件继续循环, 不满足则跳出循环
break、continue可以带标签
语句块可以使用外部的变量, 由于语句块内定义的变量作用域仅限语句块内, 所以外部不能使用语句块中定义的变量
哎, 明天又要汇报了!!!
Java_基础(一)的更多相关文章
- Java_基础篇(数组排序)
Java_基础之数组排序(从小到大) 1.冒泡排序: 冒泡排序可以写成两层循环. 每次循环将最大的数值交换到数组的最后一个. 每排序完一次,后面就少比较一次.所以二层循环的判断条件写成:arry.le ...
- 【Java_基础】JVM内存模型与垃圾回收机制
1. JVM内存模型 Java虚拟机在程序执行过程会把jvm的内存分为若干个不同的数据区域来管理,这些区域有自己的用途,以及创建和销毁时间. JVM内存模型如下图所示 1.1 程序计数器 程序计数器( ...
- Java_基础篇(数组的反转)
数组反转也是Java的基础. 数组反转要求掌握的是: 1).创建一个数组,在内存中申请一块空间. 2).实例化数组. 3).对数组的了解.如:数组的长度,数组的下标,数组的表示方法. 4).数组的交换 ...
- java_基础_异常
之前只是了解的最基础的异常形式,没有过多的深入 今天因为一些原因了解了一下 下面来说说异常的几种形式 1.try-catch语句块 代码示例 class test{ public static voi ...
- 【Java_基础】并发、并行、同步、异步、多线程的区别
1. 并发:位于同一个处理器上的多个已开启未完成的线程,在任意一时刻系统调度只能让一个线程获得CPU资源运行,虽然这种调度机制有多种形式(大多数是以时间片轮巡为主).但无论如何,都是通过不断切换需要运 ...
- 【Java_基础】Java的访问权限控制
1.类成员的访问权限控制 Java中类成员的访问权限分为四类:private,无(默认情况下),protected和public.其权限控制如下表所示: 修饰词 本类 同一个包的类 继承类 其他类 p ...
- 【Java_基础】java类加载过程与双亲委派机制
1.类的加载.连接和初始化 当程序使用某个类时,如果该类还未被加载到内存中,则系统会通过加载.连接.初始化三个步骤来对类进行初始化.如果没有意外,jvm将会连续完成这三个步骤,有时也把这三个步骤统称为 ...
- java_基础知识_字符串练习题_计算两个字符串的最长公共字串长度
package tek; Java算法——求出两个字符串的最长公共字符串 /** * @Title: 问题:有两个字符串str1和str2,求出两个字符串中最长公共字符串. * @author 匹夫( ...
- java_基础_关于父类继承的问题
关于java父类继承: 首先抽象类有这样几个规则 1.定义为抽象类的类里可以没有抽象方法 2.抽象类里可以有普通的不带abstract关键字的方法 3.抽象类里可以有主main方法 4.抽象类也可以向 ...
- Java_基础_内存管理
把没几多年,完全忘记了把自己学的东西记录下来了,现在也基本不知道怎么去记录会更好了,不过好歹妹是把住了~也要毕业了,继续回来写东东记录自己的学习...... 一个Java程序在运行时的内存分布主要如上 ...
随机推荐
- javascript内置对象的innerText、innerHTML、join方法的认识
innerText语法规范:HTMLElement.innerText = string ;//后面的赋值是一个字符串形式 innerText是一个非标准形式,不识别HTML标签 返回值会去除空格和换 ...
- VS2013中带命令行参数的调试方法---C++
今天先记录一下(也是传说中大神喜欢装逼的comment line)c++中向主函数int main(int argc,char** argv )传递4中方法,欢迎添加新方法, 然后可以参考别人写的很好 ...
- 最新vue项目添加水印
在utils文件夹中创建 wartermark.ts 文件(位置看自己的组件放那,这都行),内容如下: 1 "use strict"; 2 3 const setWatermark ...
- sql注入里关键字绕过的发现
网上大量文章,甚至<黑客攻防技术实战宝典-WEB实战篇>里面都说一些关键字如 select 等绕过可以用注释符/**/. 例如: select,union.可以用 ,se/**/lect, ...
- 本地vue项目跨域服务器接口
1,打开index.js文件,找到 proxyTable 参照下面链接的方法,你们可以去点赞 https://www.douban.com/note/704314260/?type=like#sep
- 2020 CSP-J 初赛答案及解析
部分咕咕咕的明天一定 单项选择 A A D 解析 : 与z的都是假 C 解析 : $ \frac{2048\times1024\times32}{8\times1024\times1024}=8$ C ...
- background-size 详解
backgroun-size:cover; .是按照等比缩放铺满整个区域.主要用于图片比div小的时候,将图片按照某一边的比例扩大以填充整个div背景. .优点:图片不会被拉升,且实用于div长度和宽 ...
- reids等非关系数据库管理工具treesoft
先下载treesoft 链接:https://pan.baidu.com/s/1o8UPK7lF0-WvE9afoR0sWw 提取码:3uc3 下载好之后进行解压文件 解压完成后目录结构 将webap ...
- 实验二 C2C实践
实验二 C2C实践 [实验目的] 掌握网上购物的基本流程和C2C平台的运营 [实验条件] ⑴.个人计算机一台 ⑵.计算机通过局域网形式接入互联网. (3).奥派电子商务应用软件 [知识准备] 本实验 ...
- 多测师讲解 _接口自动化框架设计_高级讲师肖sir
背景:因为把传入接口参数.组建测试用例.执行测试用例和发送报告,都放入一个.py文件对于接口的使用非常不灵活就需要数据和接口业务进行分离让代码之间的 耦合性降低.和实现接口的分层管理,所以需要对代码进 ...