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. CEO的行为风格会影响公司业绩吗?

    中国的两大互联网巨头--腾讯和阿里,创始人的风格非常不同.在公众面前,马云的形象是高谈阔论,而马化腾则显得较为低调.在公司管理上,马云不插手具体事务,而是站在高处务虚,抓战略.抓文化,而马化腾则是腾讯 ...

  2. 分布式系统监视zabbix讲解二之邮件报警通知

    概述 在上一篇博客<分布式系统监视zabbix讲解一技术流ken>中已经详细讲解了如何安装zabbix,本篇博客将详细讲解如何使用zabbix监控另外一台主机,并实现email报警通知机制 ...

  3. java 多线程-4

    十四.sleep方法和wait方法的区别 [面试题] 相同点: 一旦执行方法,都可以使得当前线程进入阻塞状态. 不同点: 两个方法的声明位置不同:Thread类声明sleep():Object类中声明 ...

  4. manacher(马拉车算法)

    Manacher(马拉车算法) 序言 mannacher 是一种在 O(n)时间内求出最长回文串的算法 我们用暴力求解最长回文串长度的时间复杂度为O(n3) 很明显,这个时间复杂度我们接受不了,这时候 ...

  5. Java 内存模型(Java Memory Model,JMM)

    基本概念 JMM 本身是一种抽象的概念并不是真实存在,它描述的是一组规范,通过这组规范定义了程序的访问方式 JMM 同步规定 线程解锁前,必须把共享变量的值刷新回主内存 线程加锁前,必须读取主内存的最 ...

  6. 趣图:我说自己菜 vs 大佬说自己菜

      扩展阅读 一大波趣图:CSS的力量 趣图:嫁人就嫁程序员,大妈都懂的! 趣图:向客户介绍的产品VS实际开发的产品 如何准备校招技术面试+一只小菜鸟的面试之路 向Spring大佬低头--大量源码流出 ...

  7. 每日爬虫JS小逆之5分钟旅游网MD5一锅端

    来吧骚年,每天花5分钟锻炼一下自己的JS调试也是极好的,对后期调试滑块验证码还原.拖动很有帮助,坚持下去,我们能赢.建议亲自试试哦,如果对大家有帮助的话不妨关注一下知识图谱与大数据公众号,当然不关注也 ...

  8. C 类型限定符

    C 类型限定符 1. Introduction C 语言中的大部分类型都可以用称为限定符(qualifier)的关键字 const. volatile. restrict. _Atomic 加以限定. ...

  9. Python-读写csv数据模块 csv

    案例: 通过股票网站,我们获取了中国股市数据集,它以csv数据格式存储 Data,Open,High,Low,Close,Volume,Adj Close 2016-06-28,8.63,8.47,8 ...

  10. python下的appium控制andriod按键

    今天查看视频的时候,发现不好控制关闭视频,于是就想控制手机的返回按键来达到返回的效果. 找到了一些关于按键的keycode,如下: KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL ...