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#多用于业务系统的开发 ...
随机推荐
- vulnhub靶场之VIKINGS: 1
准备: 攻击机:虚拟机kali.本机win10. 靶机:DRIPPING BLUES: 1,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhu ...
- Java:自定义排序与sort()函数
自定义排序与Arrays.sort() 本篇题目来源:2022/11/13 Leetcode每日一题:https://leetcode.cn/problems/custom-sort-string 给 ...
- FIXMAP内存管理器
fixed map是被linux kernel用来解决一类问题的机制,这类问题的共同特点是: (1)在很早期的阶段需要进行地址映射,而此时,由于内存管理模块还没有完成初始化,不能动态分配内存,也就是无 ...
- JAVA-面向对象之对象拷贝
Java 中的数据类型分为基本数据类型和引用数据类型.对于这两种数据类型,在进行赋值操作.用作方法参数或返回值时,会有值传递和引用(地址)传递的差别. Map对象 测试01-等号赋值: @Test p ...
- 【Java EE】Day01 基础加强、Junit单元测试、反射、注解
〇.总结 1.测试:三个注解.断言判断 2.反射:三个阶段获取字节码对象的三种方式.忽略成员变量权限方法setAccessible(true) 3.注解:内置注解SupressWarning& ...
- 《MySQL必知必会》之快速入门游标和触发器
第二十四章 使用游标 本章将介绍什么是游标以及如何使用游标 游标 之前的select语句检索出来的数据,没有办法得到第一行或者下一行 有时,需要在检索出来的行中前进或后退一行或多行.这就是使用游标的原 ...
- Django视图层/FBV与CBV/jsonResponse对象/form表单上传文件/request对象获取文件
目录 虚拟环境 视图层views 三板斧 jsonResponse对象 form如何上传文件/request对象获取文件 request对象方法 FBV与CBV CBV源码解析 虚拟环境 每创建一个虚 ...
- Go语言性能剖析利器--pprof实战
作者:耿宗杰 前言 关于pprof的文章在网上已是汗牛充栋,却是千篇一律的命令介绍,鲜有真正实操的,本文将参考Go社区资料,结合自己的经验,实战Go程序的性能分析与优化过程. 优化思路 首先说一下性能 ...
- 在linux中安装mysql5.7
安装前准备: 确保你的CentOS6.10使用的镜像url是可被访问的!!(可参考文章:https://blog.csdn.net/qq_39946015/article/details/111086 ...
- win32com操作word 第二集:Application&Documents接口
本课程<win32com操作word API精讲&项目实战>以视频为主,文字教程为辅,公众号ID:一灯编程. 先回答一个网友私信问题: win32com和微软的word接口文档有什 ...