Java Day 2
标识符
凡是变量中需要自己命名的地方都是标识符,例如:包名、类名、变量名等等
标识符的命名规则
1.Java的标识符只能用26个英文字母大小写,0-9的数字,下划线(_),和美元的符号($).
2.标识符中不能含空格
3.数字不呢个开头
4.不能用关键字和保留字和特殊值,例如基本数据类型byte int 等与false,true,null,void等
5.Java严格区分大小写
6.Java标识符的长度没有限制,但不宜太长
标识符的命名规范
1.总原则,见名知意,有意义
2.类名,接口名:所有单词首字母大写 例如:XxxYyyZzz
3.变量名:第一个单词首字母小写其余首字母大写 例如:xxxYyyZzz
4.包名:所有字母都小写,不同单词用 . 分开 例如:java.lang
5.常量名:所有单词都大写,单词之间使用下划线 _ 例如:MAX_VALUE
变量
变量是代表内存中的一块存储区域
变量三要素
1.变量名:给这块存储区域命名,就不用内存地址访问
2.变量值:这块内存中存的数据
3.数据类型:决定这块内存的大小
使用要求
1.先声明后使用:声明格式:数据类型 变量名
2.使用之前必须赋值:赋值格式: 变量名 = 值 (这个值可以是常量,表达式)
3.变量的作用域:从声明处开始,到其所属的 } 结束,并且同一个作用域不能重名
数据类型
基本数据类型
整型
byte:占一个字节,储存范围(-128 - 127)
short:占两个字节
int:占四个字节 默认类型
long:占八个字节,需要在数字后面加L或者小写的 l
浮点型
float:占四个字节,需要在数字后面加F或者小写的 f
double:占八个字节,默认类型
字符型
char:占两个字节,存储的是Unicode编码,
布尔型
boolean:只能赋值true 或 false
基本数据类型转换
1.自动类型转换:double-->float-->long-->int-->byte,short,char
2.强制类型转换:需要强制类型转换符(类型),但是有可能丧失精度
引用数据类型
类:例如 String Syetem
接口
数组
运算符
算数运算符
正号:+
负号:-
加:+
减:-
乘:*
除:/(当整数与整数相除,结果只保留整数部分,当整数与整数相除,被除数/除数 ,除数不能为0,报异常,当浮点数相除,如果除数为0,结果是无穷大,非数字)
取余取模:%(会忽略模数的负号)
自增:++(i++:这个表达式的结果是与i自增前的结果一样,++i:这个表达式的结果是与i自增后的结果一样)
自减:--(同自增)
赋值运算符
基本赋值运算符=:把右边的结果赋值给左边的变量
扩展赋值运算符:+=,-=...... 隐含强制类型转换 例如short s = 6;s+=1; 等价于 s = (short)(s + 1)
比较运算符
大于:>
小于;<
大于等于:>=
小于等于:<=
不等于:!=
instanceof:比较对象是否时类产生的
结果一定是boolean值,所以比较表达式常用于条件表达式
逻辑表达式
逻辑与:& 只有左右两边的值都为true,结果才为true
逻辑或:| 只要左右两边的值有一个为true,结果就为true
逻辑异或:^ 只有左右两边一个为true,另一个为false,结果才为true
逻辑非:! !true 即为false !fales即为true
短路与:&& 结果与&一样 只有左右两边的值都为true,结果才为true 不同的是 如果左边的表达式为false,右边的表达式就不计算了,出现短路现象
短路或:|| 结果与|一样 只要左右两边的值有一个为true,结果就为true 不同的是 如果左边的表达式为true,右边的表达式就不计算了,出现短路现象
条件运算符(也叫三目运算符)
格式:条件表达式 ? 表达式1 : 表达式2
整个表达式的结果看条件表达式,如果条件表达式为true,那么就取表达式1的结果,否则取表达式2的结果
位运算符就不说了,基本用不上,实在是想学的去找一下资料
Java Day 2的更多相关文章
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题
背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...
- Elasticsearch之java的基本操作一
摘要 接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...
- 论:开发者信仰之“天下IT是一家“(Java .NET篇)
比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...
- 故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用
有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...
- Java多线程基础学习(二)
9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...
- Java多线程基础学习(一)
1. 创建线程 1.1 通过构造函数:public Thread(Runnable target, String name){} 或:public Thread(Runnable target ...
- c#与java的区别
经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...
随机推荐
- C++初阶(运算符重载汇总+实例)
运算重载符 概念: 运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似. 函数原型: 返回值 operator操作符(参数列表) 注意: ...
- phpexcel 上传
<?php require_once(ROOTPATH . "inc/PHPExcel/PHPExcel.class.php");//PHPExcel//获取数据 $objP ...
- Selenium4+Python3系列(十) - Page Object设计模式
前言 Page Object(PO)模式,是Selenium实战中最为流行,并且被自动化测试同学所熟悉和推崇的一种设计模式之一.在设计测试时,把页面元素定位和元素操作方法按照页面抽象出来,分离成一定的 ...
- Java基础知识篇【gitee】
https://snailclimb.gitee.io/javaguide 一.Java基本功 Java一次编译,字节码通过JVM,处处运行jsp会转化为servlet,也要由jdk编译OracleJ ...
- EndNote设置导出参考文献格式为中文国标GBT7714
笔者使用的版本是最新的EndNote 20,其他版本大同小异. 依次打开:Tools -> Output Styles -> Open Style Manager.其他版本可能有差异,只要 ...
- 《HTTP权威指南》– 5.Web服务器
Web服务器概念: 实现了HTTP和相关的TCP连接处理,负责管理Web服务器提供的资源,以及对Web服务器的配置.控制及扩展方面的管理. 各种不同的形式: 通过软件Web服务器:运行在标准的.有网络 ...
- Linux NTP工具的基本使用
NTP 时间同步 NTP(Network Time Protocol)协议,网络时间协议.利用ntp协议可以实现网络中的计算机时间同步. 实现NTP协议的工具: ntpdate:只能同步一次时间 nt ...
- 网络工具netstat与ss
建议使用ss命令,2001年的时候netstat 1.42版本之后就没更新了,之后取代的工具是ss.netstat命令在很多场景下比较慢.ss可以显示跟netstat类似的信息,但是速度却比netst ...
- 如何在mac电脑上配置命令行工具
Hi,欢迎大家在有空的时候做客[江涛学编程],这里是2023年的第7篇原创文章,今天我们来聊一聊如何在mac电脑上配置命令行工具 老规矩,拍拍手,上菜. 同学,打开你的mac电脑,按住键盘上的&quo ...
- [cocos2d-x]判断两个矩形是否有交叉区域
bool Rect::intersectsRect(const Rect& rect) const { return !( getMaxX() < rect.getMinX() || r ...