1. HelloWorld

编写代码

public class Hello{
public static void main(String[] args){
System.out.println("Hello,World!");
}
}

代码详解

Public class 和 class的区别:

  1. 一个java文件中可以定义多个class

  2. Public的类可以没有

  3. Public的类如果有的话,只能有一个,并且要求类名和文件名一致

System.out.println("Hello,World!");为输出语句,括号里加双引号的内容就是输出内容

2. 注释

注释并不会被执行,是给我们写代码的人看的

  1. 单行注释://

    //这是一个单行注释
  2. 多行注释:/* 注释内容 */

    /*    这是一个多行注释      */
  3. 文档注释:/** 注释内容 */

    /**
    * @Description HellWorld
    * @Author 最爱琴女E
    */
有趣的代码注释
/***
* .::::.
* .::::::::.
* ::::::::::: FUCK YOU
* ..:::::::::::'
* '::::::::::::'
* .::::::::::
* '::::::::::::::..
* ..::::::::::::.
* ``::::::::::::::::
* ::::``:::::::::' .:::.
* ::::' ':::::' .::::::::.
* .::::' :::: .:::::::'::::.
* .:::' ::::: .:::::::::' ':::::.
* .::' :::::.:::::::::' ':::::.
* .::' ::::::::::::::' ``::::.
* ...::: ::::::::::::' ``::.
* ```` ':. ':::::::::' ::::..
* '.:::::' ':'````..
*/

3. 标识符

  1. //所有标识符都应该以字母,美元符号($)、或者下划线为开头
public class Demo01 {
public static void main(String[] args) {
String Hero = "娑娜";
String hero = "迦娜";
String $Hero3 = "莫甘娜";
String _Hero4 = "蕾欧娜";
}
}
  1. //不能以数字和其他特殊符号作为开头
// String 1Hero = "金克斯";
// String #Hero = "拉克丝";
// String *Hero = "婕拉";
//以上都是错误的
  1. //首字符之后可以是字母、美元符、下划线或者数字的任何字符组合
  2. //不能使用关键字作为变量名或方法名
  3. //标识符是大小写敏感的(同个单词大小写不同可以看做是两个,如:Hero和hero是两个不同的)
  4. 可以使用中文名和拼音,但是一般不建议去使用,很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! 代码要精简易读
}
}
类型转换
  1. 强制类型转换

    //强制转换:(类型)变量名  高--低
    int i = 128;
    byte b = (byte)i;//内存溢出
    System.out.println(i);//128
    System.out.println(b);//-128
  2. 自动类型转换

    //自动转换:低--高
    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变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域

变量注意事项:
  1. 每个变量都有类型,类型可以是基本类型,也可以是引用类型
  2. 变量名必须是合法的标识符
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
}
}
变量名命名规范
  1. 所有变量、方法、类名:见名知意
  2. 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面的单词首字母大写
  3. 局部变量:首字母小写和驼峰原则
  4. 常量:大写字母和下划线:MAX_VALUE
  5. 类名:首字母大写和驼峰原则:Man,GoodMan
  6. 方法名:首字母小写和驼峰原则:run() , runRun()

JavaSE学习笔记01注释、标识符与基本类型的更多相关文章

  1. JavaSE 学习笔记01丨开发前言与环境搭建、基础语法

    本蒟蒻学习过C/C++的语法,故在学习Java的过程中,会关注于C++与Java的区别.开发前言部分,看了苏星河教程中的操作步骤.而后,主要阅读了<Java核心技术 卷1 基础知识>(第8 ...

  2. JavaSE学习笔记(1)---数据类型、运算符、控制结构

    javaSE学习笔记(1) 数据类型和运算符 1.注释可以提高程序的可读性.可划分为 单行注释 // 多行注释 /.../ 文档注释 /**...*/ 2.标识符的命名规则: 标识符必须以字母.下划线 ...

  3. javaSE学习笔记(17)---锁

    javaSE学习笔记(17)---锁 Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率.本文旨在对锁相关源码(本文中的源码来自JDK 8).使用场景进行举例,为读 ...

  4. javaSE学习笔记(10)---List、Set

    javaSE学习笔记(10)---List.Set 1.数据存储的数据结构 常见的数据结构 数据存储的常用结构有:栈.队列.数组.链表和红黑树. 1.栈 栈:stack,又称堆栈,它是运算受限的线性表 ...

  5. JavaSE学习笔记(8)---常用类

    JavaSE学习笔记(8)---常用类 1.Object类 java.lang.Object类是Java语言中的根类,即所有类的父类.它中描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类 ...

  6. 软件测试之loadrunner学习笔记-01事务

    loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...

  7. C++ GUI Qt4学习笔记01

    C++ GUI Qt4学习笔记01   qtc++signalmakefile文档平台 这一章介绍了如何把基本的C++只是与Qt所提供的功能组合起来创建一些简单的图形用户界面应用程序. 引入两个重要概 ...

  8. javaSE学习笔记(16)---网络编程

    javaSE学习笔记(16)---网络编程 基本概念 如今,计算机已经成为人们学习.工作.生活必不可少的工具.我们利用计算机可以和亲朋好友网上聊天,也可以玩网游.发邮件等等,这些功能实现都离不开计算机 ...

  9. javaSE学习笔记(15) ---缓冲流、转换流、序列化流

    javaSE学习笔记(15) ---缓冲流.转换流.序列化流 缓冲流 昨天复习了基本的一些流,作为IO流的入门,今天我们要见识一些更强大的流.比如能够高效读写的缓冲流,能够转换编码的转换流,能够持久化 ...

随机推荐

  1. .netcore 3.1 C# 微信小程序发送订阅消息

    一.appsettings.json定义小程序配置信息 "WX": { "AppId": "wx88822730803edd44", &qu ...

  2. Spring学习(二)Spring IoC 和 DI 简介

    一.IOC(控制反转) 定义:反转控制 (Inversion Of Control)的缩写,即创建对象的反转控制. 正向控制:若要使用某个对象,需要自己去负责对象的创建. 反向控制:若要使用某个对象, ...

  3. 从CPU缓存看缓存的套路

    一.前言 不同存储技术的访问时间差异很大,从 计算机层次结构 可知,通常情况下,从高层往底层走,存储设备变得更慢.更便宜同时体积也会更大,CPU 和内存之间的速度存在着巨大的差异,此时就会想到计算机科 ...

  4. Mac OS X中Apache开启ssl

    升级ios7.1之后用那个企业证书打测试包网页上不能下载,提示Mainfest.plist需要用https,然后就看了下Apache的https的设置,虽然后来还是不行,先略下不表,下文再说,把这个过 ...

  5. flutter,跟着官网一步一步创建第一个flutter应用

    创建第一个flutter 编辑器: vscode 一.创建flutter项目 1.启动vscode 2.按ctrl+shift+p打开命令面板 3.输入flutter 选择Flutter: New P ...

  6. Centos-转换或复制文件-dd

    dd 转换或复制文件,同时可以对设备进行备份 相关选项 if 输入文件,可以是设备 of   输出文件,可以是输出设备 bs   指定一个block大小,默认为 512字节 count  指定bs数量

  7. 03 . Docker数据资源管理与网络

    Docker数据卷 在容器中管理数据主要有两种方式 # 数据卷(Data volumes) # 数据卷容器(Data volume containers) # 数据卷是一个可供一个或多个容器使用的特殊 ...

  8. 计算(calc)

    计算(calc) [题目描述] 小明在你的帮助下,破密了Ferrari设的密码门,正要往前走,突然又出现了一个密码门,门上有一个算式,其中只有"(",")",& ...

  9. Arduino Wire.h(IIC/ I2C)语法

    转自:https://www.cnblogs.com/1996jiwei/p/6561681.html 本文转自上面链接,版权请直接参考原链接. 最近在用I2C进行通信交流,发现有两种方法的头文件需要 ...

  10. Django ORM 引发的数据库 N+1 性能问题

    背景描述 最近在使用 Django 时,发现当调用 api 后,在数据库同一个进程下的事务中,出现了大量的数据库查询语句.调查后发现,是由于 Django ORM 的机制所引起. Django Obj ...