书写注释是一个非常好的习惯
public class HelloWorld { public static void main(String[] args) { //单行注释 //输出一个HelloWorld System.out.println("Hello World!"); /* 多行注释 可注释一段文字 */ //JavaDoc:文档注释 /** * @Description HelloWorld * @Author 萘汝--Java基础学习 */ } }
Java 目前定义了 51 个关键字,以下对这些关键字进行了分类。
数据类型:boolean、int、long、short、byte、float、double、char、class、interface。
流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally。
修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native。
动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new。
保留字:true、false、null、goto、const。
Java所有的组成部分都想要名字。类名、变量名以及方法名都被称为标识符。
所有的标识符都应该以字母(A-Z或者a-z),美元符($),下划线(_)开始
首字母后可以是字母(A-Z或者a-z),美元符($),下划线(_)或数字的任何字符组合
不能使用关键字作为变量名或方法名
标识符是大小写敏感的
强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用
Java数据类型分为两大类
基本类型(primitive type)
数值类型(整数类型byte、short、int、long;浮点类型float、double;字节类型char)
Boolean类型(占1位,只有ture和false两个)
public class Demo01 { public static void main(String[] args) { //八大基本数据类型 //整数 int num1 = 10;//最常用,占4个字节 byte num2 = 20;//占1个字节,-128~127 short num3 = 30;//占2个字节,-32768~32767 long num4 = 30L;//Long类型要在数字后面加个L,8个字节 //小数:浮点数 float num5 = 50.1F;//float类型要在数字后面加个F,4个字节 double num6=3.1415926;//8个字节 //字符 char name = '国';//字符串String不是关键字,是类 //String name="萘汝" //布尔值:是非 boolean flag = true;//boolean flag=false } }
引用类型(reference type)
类
接口
数组
位b(bit)是计算机内部数据储存的最小单位,字节B(byte)是计算机中数据处理的基本单位,1B=8b。字符是指计算机中使用的字母、数字、字和符号。
public class Demo02 { public static void main(String[] args) { //整数拓展:进制 二进制0b 十进制 八进制0 十六进制0x int i=10; int i2=010;//八进制 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 f=0.1f;//0.1 double d=1.0/10;//0.1 System.out.println(f==d);//false float d1=23212122121212f; float d2=d1+1; System.out.println(d1==d2);//true //float double 有限 离散 舍入误差 大约 接近但不等于 /** * 最好完全避免使用浮点数进行比较 */ //================================================= //字符拓展 //================================================= 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);//强制换行 //所有的字符本质还是数字 //编码 Unicode 2字节 0-65536 //U0000 UFFFF char c3='\u0061'; System.out.println(c3);//a //转义字符 // \t 制表符 // \n 换行 //... System.out.println("Hello\nWorld"); System.out.println("======================="); String sa=new String("hello world"); String sb=new String("hello world"); System.out.println(sa==sb);//false String sc="hello world"; String sd="hello world"; System.out.println(sc==sd);//ture //对象 从内存分析 //布尔值扩展 boolean flag=true; if (flag==true){};//新手 if (flag){};//老手 //Less is More! 代码要精简易读 } }
由于Java是强类型语言,所以在进行有些运算的时候,需要用到类型转换
低------------------------------------->高 byte,short,char->int->long->float->double
运算中,不同类型的数据先转化为同一类型,然后进行运算。
public class Dome03 { public static void main(String[] args) { int i = 128; double b = i;//内存溢出 //强制转换 (类型)变量名 高--低 //自动转换 低--高 System.out.println(i); System.out.println(b); /* 注意点: 1.不能对布尔值进行转换 2.不能把对象类型转换为不相干的类型 3.在把高容量转换到低容量的时候,强制转换 4.转换的时候可能存在内存溢出,或者精度问题! */ System.out.println("========================="); System.out.println((int) 23.7); //23 System.out.println((int) -45.89f); //-45 System.out.println("========================="); char c = 'a'; int d = c+1; System.out.println(d); System.out.println((char) d); //操作比较大的时候,注意溢出问题 //JDK7新特性,数字之间可以用下划线分割 int money=10_0000_0000; int years=20; int total1 = money*years; //-1474836480,计算的时候溢出了 long total2= money*years; //默认是int,转换前已经存在问题 long total3= money*((long)years);//先把一个数转换为long System.out.println(total3); } }
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。每个变量都必须声明其类型。
type varName [=value][{,varName[=value]}]; //数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量。
注意事项:
每个变量都有类型,类型可以是基本类型,也可以是引用类型。
变量名必须是合法的标识符。
变量声明是一条完整的语句,因此每一个声明都必须以分号结束
常量:初始化后不能再改变的值!不会变动的值。一般使用大写字符。
final 常量名=值; final double PI=3.14;
public class Demo04 { //属性:变量 //类变量 static 关键字 static double salary =2500; //实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0 //布尔值:默认是false //除了基本类型,其余的默认值都是null; String name; int age; public static void main(String[] args) { //局部变量;必须声明和初始化值 int i =10; System.out.println(i); //变量类型 变量名字 = new Demo05(); Demo04 demo04 = new Demo04(); System.out.println(demo04.age); // 0 System.out.println(demo04.name); //null //类变量 static System.out.println(salary); System.out.println(PI); } //常量 static final double PI=3.14; }
变量的命名规范:
所有变量、方法、类名:见名知意
类采用变量:首字母小写和驼峰原则(除第一个单词以外,后面的单词首字母大写lastName)
局部变量:首字母小写和驼峰原则
常量:大写字母和下划线:MAX_VALUE
类名:首字母大写和驼峰原则:Man,GoodMan
方法名:首字母小写和驼峰原则:run(),runRun()