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#多用于业务系统的开发 ...
随机推荐
- Go语言核心36讲51
你好,我是郝林,今天我们继续分享程序性能分析基础的内容. 在上一篇文章中,我们围绕着"怎样让程序对CPU概要信息进行采样"这一问题进行了探讨,今天,我们再来一起看看它的拓展问题. ...
- Iris_data_analysis
SVM调用实例--鸢尾花 任务描述: 构建一个模型,根据鸢尾花的花萼和花瓣大小将其分为三种不同的品种. 数据集: 每一行数据由4个特征值及1个目标值组成,4个特征值分别为:萼片长度.萼片宽度.花瓣长度 ...
- JavaScript笔记之面向对象
面向对象 了解构造函数原型对象的语法特征,掌握 JavaScript 中面向对象编程的实现方式,基于面向对象编程思想实现 DOM 操作的封装. 了解面向对象编程的一般特征 掌握基于构造函数原型对象的逻 ...
- MAUI Blazor (Windows) App 动态设置窗口标题
接着上一篇"如何为面向 Windows 的 MAUI Blazor 应用程序设置窗口标题?" Tips: 总所周知,MAUI 除了 Windows App 其他平台窗口是没有 Ti ...
- 【每日一题】【map存值】2022年2月25日-NC112 进制转换
描述给定一个十进制数 M ,以及需要转换的进制数 N .将十进制数 M 转化为 N 进制数. 当 N 大于 10 以后, 应在结果中使用大写字母表示大于 10 的一位,如 'A' 表示此位为 10 , ...
- 【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署
注意在应用部署之前,docker 服务必须是开启状态 systemctl start docker. 目录 一.MySQL 部署 二.Tomcat 部署 三.Nginx 部署 四.Redis 部署 一 ...
- PostgreSQL和MySQL的优劣对比
在开发项目的过程中,难免要面对选择数据库的情况.总结此文章是因为在之前公司里使用的都是MYSQL 数据库,而在现在公司里,新项目中使用的是 PostgreSQL 数据库,在使用过程中,经常需要查找两种 ...
- plsql developer切换用户
方法1: 1.双击plsql developer桌面软件图标启动软件 2.在连接窗口中填写连接信息,连接数据库 3.在新建窗口下拉选项中,选择命令窗口功能 4.在工作区内会出现当前用户连接数据库的窗口 ...
- Jmeter ForEach 循环控制器
ForEach Controller 即循环控制器,顾名思义是定义一种循环规则,如下图: 1.名称:控制器名称,可根据用户需要任意填写,也可不填 2.注释:用户可根据需要任意填写,也可不填 3.输入变 ...
- C语言两结构体之间的成员互换
今天在写一个通讯录实现程序的时候,遇到个让我突然卡壳的问题,不知道怎么进行两个结构体之间的成员互换......结构体成员有"姓名","性别","年龄& ...