JavaSE学习笔记01注释、标识符与基本类型
1. HelloWorld
编写代码
public class Hello{
public static void main(String[] args){
System.out.println("Hello,World!");
}
}
代码详解
Public class 和 class的区别:
一个java文件中可以定义多个class
Public的类可以没有
Public的类如果有的话,只能有一个,并且要求类名和文件名一致
System.out.println("Hello,World!");为输出语句,括号里加双引号的内容就是输出内容
2. 注释
注释并不会被执行,是给我们写代码的人看的
单行注释://
//这是一个单行注释
多行注释:/* 注释内容 */
/* 这是一个多行注释 */
文档注释:/** 注释内容 */
/**
* @Description HellWorld
* @Author 最爱琴女E
*/
有趣的代码注释
/***
* .::::.
* .::::::::.
* ::::::::::: FUCK YOU
* ..:::::::::::'
* '::::::::::::'
* .::::::::::
* '::::::::::::::..
* ..::::::::::::.
* ``::::::::::::::::
* ::::``:::::::::' .:::.
* ::::' ':::::' .::::::::.
* .::::' :::: .:::::::'::::.
* .:::' ::::: .:::::::::' ':::::.
* .::' :::::.:::::::::' ':::::.
* .::' ::::::::::::::' ``::::.
* ...::: ::::::::::::' ``::.
* ```` ':. ':::::::::' ::::..
* '.:::::' ':'````..
*/
3. 标识符
- //所有标识符都应该以字母,美元符号($)、或者下划线为开头
public class Demo01 {
public static void main(String[] args) {
String Hero = "娑娜";
String hero = "迦娜";
String $Hero3 = "莫甘娜";
String _Hero4 = "蕾欧娜";
}
}
- //不能以数字和其他特殊符号作为开头
// String 1Hero = "金克斯";
// String #Hero = "拉克丝";
// String *Hero = "婕拉";
//以上都是错误的
- //首字符之后可以是字母、美元符、下划线或者数字的任何字符组合
- //不能使用关键字作为变量名或方法名
- //标识符是大小写敏感的(同个单词大小写不同可以看做是两个,如:Hero和hero是两个不同的)
- 可以使用中文名和拼音,但是一般不建议去使用,很Low
4.数据类型
基本数据类型
类型 | 字节 | 取值范围 |
---|---|---|
byte | 1 | -128~127 |
short | 2 | -32768~32767 |
int | 4 | -2147483648~2147483647 |
long | 8 | ... |
float | 4 | ... |
double | 8 | ... |
boolean | 1 | ... |
char | 2 | 0~65535 |
字节
位(bit):是计算机内部数据存储的最小单位,11001100是一个八位二进制数
字节(byte):是计算机中数据处理的基本单位,习惯上用大写B来表示
1B(byte,字节)= 8bit(位)
字符:是指计算机中使用的字母、数字、字和符号
1bit表示1位 1Byte表示一个字节1B = 8b
1024B = 1KB 1024KB = 1M
1024M = 1G 1024G = 1TB
public class Demo02 {
public static void main(String[] args) {
//八大基本数据类型
//整数
int num1 = 10;//最常用
byte num2 = 20;
short num3 = 30;
long num4 = 30L;//Long类型要在数字后面加个L
//小数:浮点数
float num5 = 50.1F;//Float类型要在数字后面加个F
double num6 = 3.1415926;
//字符
char name = 'A';
//字符串,String不是关键字,类
String name2 = "娑娜";
//布尔值:是非
boolean flag = true;//1
boolean flag2 = false;//0
}
}
拓展
public class Demo03 {
public static void main(String[] args) {
//整数拓展:进制
//二进制0b、八进制0、十进制、十六进制0x
int i = 10;
int i2 = 010;//八进制0
int i3 = 0x10;//十六进制0x 0~9 A~F 16
System.out.println(i);
System.out.println(i2);
System.out.println(i3);
System.out.println("=======================================");
//==================================
//浮点数拓展,银行业务怎么表示(钱)?
//BigDecimal 数学工具类
//==================================
//float
//double
float f = 0.1f;//0.1
double d = 1.0/10;//0.1
System.out.println(f == d);//false
float d1 = 123456789f;
float d2 = d1 + 1;
System.out.println(d1 == d2);//true
//最好完全使用浮点数进行比较
System.out.println("=======================================");
//==================================
//字符拓展
//==================================
char c1 = 'a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);//强制转换类型
System.out.println(c2);
System.out.println((int)c2);//强制转换类型
System.out.println("=======================================");
//所有的字符本质还是数字
//常见的转义字符
// \t:表示制表符
// \n:表示换行
// \": 表示字符"
// \': 表示字符'
// \\: 表示字符\
// \r: 表示回车
System.out.println("Hello\tWorld!");
System.out.println("Hello\nWorld!");
System.out.println("=======================================");
//布尔值拓展
boolean b1 = true;
if (b1 == true){}//新手
if (b1){}//老手
//Less is More! 代码要精简易读
}
}
类型转换
强制类型转换
//强制转换:(类型)变量名 高--低
int i = 128;
byte b = (byte)i;//内存溢出
System.out.println(i);//128
System.out.println(b);//-128
自动类型转换
//自动转换:低--高
int i2 = 128;
double d = (double)i2;
System.out.println(d);//128.0
基本类型转换的6条规则:
第一条:只有boolean不能转换
第二条:自动类型转换(小转大)
第三条:强制类型转换(大转小)需要加强制类型转换符,可能损失精度
第四条:当一个整数没有超过byte short char 的取值范围时,可直接赋值
第五条:byte short char 混合运算的时候,各自先转换成int再运算
第六条:多种数据类型混合运算的时候,先转换成容量最大的那一种再做运算
可以将浮点数强制转型为整数。在转型时,浮点数的小数部分会被丢掉。如果转型后超过了整型能表示的最大范围,将返回整型的最大值。
System.out.println((int)23.7);//23
System.out.println((int)-45.89f);//-45
如果要四舍五入,可以对浮点数加上0.5再强制转型
double d = 2.6;
int n = (int) (d + 0.5);
System.out.println(n);//3
操作比较大的数的时候,注意溢出问题
int money = 10_0000_0000;
int years = 20;
int total = money * years;//-1474836480,计算的时候溢出了
System.out.println(total);
long total2 = money * ((long)years);//先把一个数转换成long
System.out.println(total2);//20000000000
引用数据类型
除了上述基本类型的变量,剩下的都是引用类型。例如,引用类型最常用的就是String
字符串。和char类型不同,字符串类型String是引用类型,一个字符串可以存储0到任意个字符。
String s = “”;//空字符串,包含0个字符
String s1 = “A”;//包含一个字符
String s2 = “中文 ABC”;//包含6个字符,其中有一个空格
5.变量
变量是什么:就是可以变化的量
java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域
变量注意事项:
- 每个变量都有类型,类型可以是基本类型,也可以是引用类型
- 变量名必须是合法的标识符
type varName [=value] [{,varName[=value]}];
//数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型的变量
//int a,b,c;
int a = 1,b = 2, c = 3;
String name = "卧槽";
char x = 'X';
double y = 3.14;
变量的作用域
public class Demo06 {
//属性,变量
//实例变量:从属于对象,如果不自行初始化,这个类型会是默认值
//整数默认 0
//浮点数默认0.0
//布尔值:默认是false
//除了基本类型,其余的默认值都是null
String name;
int age;
//类变量static
static double salary = 5000;
//main方法
public static void main(String[] args) {
//局部变量:必须声明和初始化值
int i = 10;
System.out.println(i);//10
//变量类型 变量名字 = new Demo06();
Demo06 demo06 = new Demo06();
System.out.println(demo06.name);//null
System.out.println(demo06.age);//0
//类变量 static
System.out.println(salary);//5000
}
//其他方法
public void add(){
}
}
6.常量
常量(Constant):初始化后不能再改变值!不会变动的值。可以理解成一种特殊的变量,它的值被设定之后,在程序运行过程中不允许被改变。
final 常量名 = 值;
final double PI = 3.14;
//常量名一般使用大写字符。
public class Demo07 {
//修饰符,不存在先后顺序
static final double PI = 3.14;
final static double PI2 = 3.1415926;
public static void main(String[] args) {
System.out.println(PI);//3.14
System.out.println(PI2);//3.1415926
}
}
变量名命名规范
- 所有变量、方法、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线:MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则:run() , runRun()
JavaSE学习笔记01注释、标识符与基本类型的更多相关文章
- JavaSE 学习笔记01丨开发前言与环境搭建、基础语法
本蒟蒻学习过C/C++的语法,故在学习Java的过程中,会关注于C++与Java的区别.开发前言部分,看了苏星河教程中的操作步骤.而后,主要阅读了<Java核心技术 卷1 基础知识>(第8 ...
- JavaSE学习笔记(1)---数据类型、运算符、控制结构
javaSE学习笔记(1) 数据类型和运算符 1.注释可以提高程序的可读性.可划分为 单行注释 // 多行注释 /.../ 文档注释 /**...*/ 2.标识符的命名规则: 标识符必须以字母.下划线 ...
- javaSE学习笔记(17)---锁
javaSE学习笔记(17)---锁 Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率.本文旨在对锁相关源码(本文中的源码来自JDK 8).使用场景进行举例,为读 ...
- javaSE学习笔记(10)---List、Set
javaSE学习笔记(10)---List.Set 1.数据存储的数据结构 常见的数据结构 数据存储的常用结构有:栈.队列.数组.链表和红黑树. 1.栈 栈:stack,又称堆栈,它是运算受限的线性表 ...
- JavaSE学习笔记(8)---常用类
JavaSE学习笔记(8)---常用类 1.Object类 java.lang.Object类是Java语言中的根类,即所有类的父类.它中描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类 ...
- 软件测试之loadrunner学习笔记-01事务
loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...
- C++ GUI Qt4学习笔记01
C++ GUI Qt4学习笔记01 qtc++signalmakefile文档平台 这一章介绍了如何把基本的C++只是与Qt所提供的功能组合起来创建一些简单的图形用户界面应用程序. 引入两个重要概 ...
- javaSE学习笔记(16)---网络编程
javaSE学习笔记(16)---网络编程 基本概念 如今,计算机已经成为人们学习.工作.生活必不可少的工具.我们利用计算机可以和亲朋好友网上聊天,也可以玩网游.发邮件等等,这些功能实现都离不开计算机 ...
- javaSE学习笔记(15) ---缓冲流、转换流、序列化流
javaSE学习笔记(15) ---缓冲流.转换流.序列化流 缓冲流 昨天复习了基本的一些流,作为IO流的入门,今天我们要见识一些更强大的流.比如能够高效读写的缓冲流,能够转换编码的转换流,能够持久化 ...
随机推荐
- NGINX 负载均衡的理解
前言 NGINX是轻量级,也是当前比较流行的web服务器软件.体积小但是功能强大. 这里我按照自己的理解,记录下对NGINX负载均衡的认识.(加权均衡,最小连接) 这里参考了 [https://blo ...
- [LeetCode]647. 回文子串(DP)
###题目 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串. 示例 1: 输入: "abc&q ...
- 不再用上官网,自己部署一套ElementUI官方最新文档
ElementUI官方的访问速度一直很慢,公司内网也无法进行外网访问.故研究了下最新的ElementUI API(2.13.2)部署教程. 先上效果图 ElementUI文档部署过程 到github下 ...
- 宝塔linux部署node项目
1.安装宝塔linux之后,按需配置,我的是nginx,不是apq的. 2.下载pm2管理器 3.添加站点,将node项目从localhost打包到到站点,node_modules这个无需打包,这个依 ...
- PyCharm2020.2.1激活方法
本人亲测有效!直接看图! 安装准备 一.百度网盘链接:https://pan.baidu.com/s/151vnrZG2V4eMPW8RYqse3w 提取码:z5k0 至于Pycharm的安装在这 ...
- web网站——apache和nginx对比02
nginx介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理 ...
- 802.1X 账号密码+设备信息双重认证
名词解释 802.1X: IEEE802 LAN/WAN 委员会为解决无线局域网网络安全问题,提出了 802.1X 协议.后来,802.1X协议作为局域网端口的一个普通接入控制机制在以太网中被广泛应用 ...
- PHP正则表达式核心技术完全详解 第1节
作者:极客小俊 一个专注于web技术的80后 我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人! CSDN@极客小俊,原创文章, B站技术分享 B站视频 : Bilibili.com 个 ...
- 机器学习可解释性系列 - 是什么&为什么&怎么做
机器学习可解释性分析 可解释性通常是指使用人类可以理解的方式,基于当前的业务,针对模型的结果进行总结分析: 一般来说,计算机通常无法解释它自身的预测结果,此时就需要一定的人工参与来完成可解释性工作: ...
- Python字符编码和二进制不得不说的故事
二进制 核心思想: 冯诺依曼 + 图灵机 电如何表示状态,才能稳定? 计算机开始设计的时候并不是考虑简单,而是考虑能自动完成任务与结果的可靠性, 简单始终是建立再稳定.可靠基础上 经过尝试10进制,但 ...