编程语言
首页 > 编程语言> > 0x03:Java基础语法

0x03:Java基础语法

作者:互联网

Java帝国


Java初生


Java发展


Java特性和优势


JDK、JRE、JVM

Pasted image 20201224144539


Java开发环境搭建

百度搜索JDK8,找到下载地址-->同意协议-->下载电脑对应版本-->双击安装JDK-->记住安装路径


HelloWorld

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

Java程序运行机制


注释、标识符、关键字


1.注释

注释并不会被执行,是写给我们人看的,平时写代码,一定要注意规范。


2.标识符

标识符注意点

public class Demo01 {  
    public static void main(String\[\] args) {  
  
        String 王者荣耀 \= "百星王者"; //可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low  
 String \_王者荣耀 \= "倔强青铜"; //可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low  
  
 System.out.println(王者荣耀); //打印变量王者荣耀  
 System.out.println(\_王者荣耀); //打印变量\_王者荣耀  
  
 //大小写敏感  
 String Man = "Taoing"; //变量名 大小写敏感  
 String man = "Taoing"; //变量名 大小写敏感  
  
 String Ahello = "Taoing";  
 String hello = "Taoing";  
 String $hello = "Taoing";  
 String \_hello = "Taoing";  
  
 String hekko1 = "Taoing";  
  
 //String 1hello = "Taoing";  
 //String [[hello]] = "Taoing";  
 }  
}

Pasted image 20201225164908


3.关键字

obstract assert boolean break byte
case catch char class const
continue default do double else
enum extends final finally float
for goto if implements import
instanof int interface long native
new package private protected public
return strictfp short static super
switch synchronized this throw throws
transient try void volatile while

3. 数据类型

public class Demo02 {  
    public static void main(String\[\] args) {  
        //八大基本数据类型  
  
 //整数  
 int num1 = 10; //最常用  
 byte num2 = 20;  
 short num3 = 30;  
 long num4 = 40L; //long类型要在数字后面加个L  
  
 //小数:浮点数  
 float num5 = 50.1F; //float类型要在数字后边加个F  
 double num6 = 3.141592653589793238462643;  
  
 //字符  
 char name = 'T';  
 //字符串,String不是关键字,类  
//        String namea = "Taoing The heack";  
  
 //布尔值  
 boolean flag = true;  
 boolean flag1 = false;  
  
 }  
}

Pasted image 20201225170944


数据类型拓展及面试题讲解

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  
 System.out.println(f);  
 System.out.println(d);  
  
 float d1 = 2313131231212313f;  
 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); //强制转换  
  
 //所有的字符本质还是数字  
 //编码 Unicode表:97代表小写a ,65代表大写A 占有2个字节 0~65536个字符 Excel表格 2 16次方 = 65536 //U0000 UFFFF char c3 = '\\u0061';  
 System.out.println(c3); //a  
  
  
 //转义字符  
 // \\t 制表符  
 // \\n 换行  
 // ...更多百度  
 System.out.println("==========================================================");  
  
  
 System.out.println("Hello\\tWorld");  
 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);  
  
 //相等  
 String sc = "hello world";  
 String sd = "hello world";  
 System.out.println(sc == sd);  
  
 //==========================================================  
 //布尔值拓展  
 System.out.println("==========================================================");  
 boolean flag = true;  
 if (flag == true) {}    //新手  
 if (flag){}     //老手  
 //Less is More!  代码要精简易读  
  
 }  
}

类型转换

低 ------------------------>高
byte,short,char-> int -> long -> float -> double
public class Demo05 {  
    public static void main(String\[\] args) {  
        int i = 128;  
 byte b = (byte) i;//内存溢出  
  
 double c = i; //自动转换 格式: (类型)变量名  低\--->高  
  
 //强制转换 格式: (类型)变量名  高\--->低  
 //自动转换 格式: (类型)变量名  低\--->高  
  
 System.out.println(i);  
 System.out.println(b);  
 System.out.println(c);  
  
 /\*注意点:  
 1.不能对布尔值进行转换  
 2.不能将对象类型转换为不相干类型。  
 3.在把大容量转换到低容量的时候,强制转换,  
 4.转换的时候可能存在内存溢出,或者精度问题!  
 \*/  
 System.out.println("=========================================");  
  
 System.out.println((int) 23.7); //23  
 System.out.println((int)-45.89f);  
  
  
 System.out.println("=========================================");  
 char r = 'a';  
 int d  = r + 1;  
 System.out.println(d);  
 System.out.println((char) d);  
  
 }  
}

public class Demo06 {  
    public static void main(String\[\] args) {  
        //操作比较大的数的时候,注意溢出问题  
 //JDK7新特性,数字之间可以用下划线分隔  
 int money = 10\_0000\_0000;  
 int years = 20;  
 int total=  money \* years; //-1474836480,计算的时候溢出了  
 System.out.println(total);  
  
 long tital2 = money \* years; //默认是int,转换前已经存在问题  
 System.out.println(tital2);  
  
  
 long tital3 = money \* ((long)years); //先把一个数转换为long  
 System.out.println(tital3); //20000000000  
 }  
}

变量、常量、作用域


1.变量

type	 varName [=value] [{,varName[=value]}];
//数据类型 变量名  =值; 可以使用逗号隔开来声明多个同类型变量。

2.变量作用域

public class Demo08 {  
  
    //类变量:static  
 static double salary \= 2500;  
  
 //属性:变量  
  
 //实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0 u0000 //布尔值:默认false  
 //除了基本类型,其余默认值都是null  
 String name;  
 int age;  
  
  
 //main方法  
 public static void main(String\[\] args) {  
  
        //局部变量,必须声明和初始化值  
 int i = 10;  
 System.out.println(i);  
  
 //变量类型 变量名字 ==  new Demo08(); Demo08 demo08 = new Demo08();  
  
 System.out.println(demo08.age);  
 System.out.println(demo08.name);  
  
 //类变量 static System.out.println(salary);  
  
  
 }  
  
  
    //其他方法  
  
 public void add() {  
//        System.out.println(i);  
  
 }  
}

常量


final 常量名 = 值;
final double PI = 3.14;
public class Demo09 {  
  
    //修饰符,不存在先后顺序  
 static  final  double PI = 3.14;  
 final static  double PI1 = 3.1415926;  
  
 public static void main(String\[\] args) {  
        System.out.println(PI);  
 System.out.println(PI1);  
 }  
}

变量的命名规范


运算符

package operator;  
  
public class Demo01 {  
    public static void main(String\[\] args) {  
        //二元运算符  
 int a = 10;  
 int b = 20;  
 int c = 25;  
 int d = 25;  
  
 System.out.println(a + b);  
 System.out.println(a - b);  
 System.out.println(a \* b);  
 System.out.println(a/ (double)b);  
  
 }  
}
package operator;  
  
public class Demo02 {  
    public static void main(String\[\] args) {  
        long a = 123123123123123L;  
 int b = 123;  
 short c = 10;  
 byte d = 8;  
  
 System.out.println(a+b+c+d); //long  
 System.out.println(b+c+d); //int  
 System.out.println(c+d); //int  
 }  
}
package operator;  
  
public class Demo03 {  
    public static void main(String\[\] args) {  
        //关系运算符返回的结果:正确,错误   布尔值  
 int a = 10;  
 int b = 20;  
 int c = 21;  
  
 System.out.println(c % a); //  c / a    21 / 10 = 2 ....1 取余数,模运算  
 System.out.println(a > b); //false  
 System.out.println(a < b); //true  
 System.out.println(a == b); //false  
 System.out.println(a != b); //true  
 }  
}

自增自减运算符、初始Math类

package operator;  

public class Demo04 {  
  public static void main(String\[\] args) {  
      // ++(自增)  --(自减) 一元运算符  

int a = 3;  


int b = a++; //执行完这行代码后,先给b赋值,再自增  
//  a = a + 1;  
System.out.println(a);  

int c = ++a; //++a a = a + 1; 执行完这行代码前,先给自增,再c赋值  


System.out.println(a);  
System.out.println(b);  
System.out.println(c);  

//幂运算 2^3    2\*2\*2 = 8; 数学类:Math  
double pow = Math.pow(2,3);  
System.out.println(pow);  

double pow1 = Math.pow(3,2);  
System.out.println(pow1);  
}  
}

逻辑运算符、位运算符

package operator;  
//位运算  
public class Demo06 {  
   public static void main(String\[\] args) {  
        /\*  
A = 0011 1100 B = 0000 1101\-------------------------------------------------------------------  
A&B 0000 1100 如果两个都是1它就为1,否则都为0  
A|B 0011 1101 如果都是0则为0,如果有一个1就为1  
A^B 0011 0001 如果两个数值相同则为0,否则为1  
~B  1111 0010 取反完全取反值  
 
2\*8 怎么样运算最快 2\*2\*2\*2 <<左移  
>>右移  
 
0000 0000 代表0  
0000 0001 代表1  
0000 0010 代表2  
0000 0011 代表3  
0000 0100 代表4  
0000 1000 代表8  
0001 0000 代表16  
\*/ System.out.println(2<<3);  
 
}  
 
 
 
 
}

三元运算符及总结

package operator;  
 
public class Demo07 {  
   public static void main(String\[\] args) {  
       int a = 10;  
		int b = 20;  
		a+=b; //a = a + b  
 
a-=b; //a = a - b  
System.out.println(a);  
System.out.println(a);  
 
//字符串连接符 +, String System.out.println(a+b);  
System.out.println(""+a+b);  
}  
}
package operator;  
 
public class Demo08 {  
   public static void main(String\[\] args) {  
       // x ? y : z  
   	 //如果x==true,则结果为y,否则为z  
   	 int results = 90;  
   	 int score = 80;  
   	 String type = score < 60 ? "不及格" : "及格";  
   	 System.out.println(type);  

   	 String type1 = results < 100 ?"不及格":"及格";  
   	 System.out.println(type1);  
   	 }  
}

包机制

	package pkg1[.pk2[.pk3....]];
	import package1[.package2...].(classname|*);

IDEA中建包的时候如何才能把包分开

==================
原先我们创建包时输入com.atguigu.web时,idea只会有一个包。那么如何变成层级结构的两个包呢?
在这里插入图片描述
如上图在项目结构附近有小齿轮的图标,点击它会出现选择框把compact Middle Packages 这个选项取消勾选,这样就我们创建包时就会自动分层级。

这样我们用包扫描时,编译进target文件夹中的接口文件才会和xml映射文件才会在同一个包下。


JavaDoc生成文档

标签:Java,String,int,System,0x03,语法,println,public,out
来源: https://www.cnblogs.com/TaoingBk/p/14224662.html