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. MySQL索引的基本操作

    常见的索引类型 PROMARY KEY 主键索引,也是唯一索引,不允许重复数据. UNIQUE INDEX唯一索引,不允许有重复数据. INDEX 普通索引允许有重复数据. 组合索引,对多个字段添加索 ...

  2. token认证、JWT

    登录的token操作 #app.models.py :表结构 from django.db import models class User(models.Model): user = models. ...

  3. Spring学习(九)Spring 和数据库编程【了解】

    一.传统 JDBC 回顾 用一个大佬的demo来简单看一下 /** * 使用jdbc,根据id查询单个Student的信息 */ public class JdbcManage { public St ...

  4. OpenGL的shader编写,GLSL基本语法

    重要!!! 文章中涉及到的代码在我的GitHub仓库里应该都能对应找到, 关于学习OpenGL的实操项目一般都会在GLBIproject1,2,...中对应找到 每个仓库中都有不同的版本的项目,更新版 ...

  5. vsCode 搭建Java开发环境

    1.安装扩展 Java Extension Pack Spring Boot Extension Pack 2.配置Maven 打开设置 搜索maven 找到并打开  在 settings.json ...

  6. Spring基础知识1--环境搭建、bean创建、依赖注入、注解注入

    一.Spring两大核心内容 1.控制反转IOC/DI:  应用本身不负责对象的创建和维护,对象和依赖对象的创建完全交给容器管理. 2.AOP(面向切面编程):通过预编译的方式,在运行期通过动态代理的 ...

  7. Win10系统下的MySQL5.7.24版本(解压版)详细安装教程

    进入MySQL官网下载压缩包 MySQL官网:https://www.mysql.com/ 将页面拉到最底,点击MySQL Community Server 跳转到下载页面,默认选择是最新版MySQL ...

  8. 在 Visual Studio 中创建一个简单的 C# 控制台应用程序

    转载:https://blog.csdn.net/qq_43994242/article/details/87260824 快速入门:使用 Visual Studio 创建第一个 C# 控制台应用 h ...

  9. 《C++primerplus》第6章练习题

    本来前面五题都做完了,写博客时没保存好草稿= =,写了个整合版的程序,实现前五题的关键部分. 1.定义一个叫jojo的结构,存储姓名.替身和力量值,使用动态结构数组初始化二乔.承太郎和乔鲁诺乔巴纳等人 ...

  10. WJQ与机房

    sample input 5 6 7 2 3 1 1 5 0 6 0 0 8 6 6 5 3 4 3 7 8 2 4 0 0 6 9 sample output 20 样例解释: 分别以(2,1)为左 ...