JavaSE基础笔记(1)

一、基础知识

1、注释

// /* */ /** */
单行注释 多行注释 文档注释

2、标识符

关键字

3、数据类型

1、基本类型

数值类型

整数类型

  • byte占1个字节范围:-128~127
  • short占2个字节范围:-32768~32767
  • int占4个字节范围:-2147483648~2147483647
  • long占8个字节范围:-9223372036854775808~9223372036854775807

浮点数类型

  • float占4个字节

  • double占8个字节

  • 字符类型char占2个字节

boolean类型

占1位其值只有true和false两个

2、引用类型

接口

数组

4、类型转换

注意点:

1、不能对布尔值进行转换

2、不能把对象类型转换为不相干的类型

3、在把大容量转换到低容量,强制转换

4、转换的时候可能存在内存溢出,或精度问题!

示例:

public class Demo{
    public static void main(String[] args){
        //操作比较大的数字的时候,注意溢出问题
        //JDK7新特性。数字之间可以用下划线分割
        int money = 10_0000_0000;
        int years = 20;
        int total = money*years;//-1474836480,计算时溢出了
        long total1 = money*((long)years);//强转解决
        System.out.println(total);
    }
}

5、变量、常量和作用域

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

注意事项:

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
  • 变量名必须是合法的标识符。
  • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
public class Demo{
    public static void main(String[] args){
        int a=1,b=2,c=3;//程序可读性
        String name = "CloakBlowing";
        char x = 'x';
        double pi = 3.14;
    }
}

变量作用域

类变量

实例变量

局部变量

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

常量

常量(Constant):初始化后不能再改变值!不会变动的值。

所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变

final 常量名=值;
final double PI=3.14;

常量名一般使用大写字符。

public class Demo{
    //修饰符,不存在先后顺序
    static final double PI = 3.14;
    
    public static void main(String[] args){
         System.out.println(PI);
    }
}

6、运算符

package opreator;

public class Demo{
    public static void main(String[] args){
        //二元运算符
        //Ctrl+D:复制当前行到下一行
        int a = 10;
        int b = 20;
        int c = 30;
        int d = 40;
        
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);
    }
}
//!注意!如果运算中有long则返回long,有double返回double,默认返回int
package opreator;

public class Demo{
    public static void main(String[] args){
        //关系运算符返回结果布尔值:true/false        
        int a = 10;
        int b = 20; 
        int c = 21;
        System.out.println(c%a);//取余 21/10 = 2...1
        
        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);
    }
}

7、自增自减运算符、初识Math类

package opreator;

public class Demo{
    public static void main(String[] args){
        //++ -- 自增,自减 一元运算符     
        int a = 3;
        int b = a++; //执行这个代码后,先给b赋值,在自增
        //a++ 就是 a=a+1
        System.out.println(a);  
        System.out.println(b);
        int c = ++a;//执行这个代码前,先自增,在给b赋值
        System.out.println(c);  
        
        //幂运算2^3
        double pow = Math.pow(2,3);
        System.out.println(pow);  
        
        //逻辑运算符:与and 或or 非:取反
        boolean a = true;
        boolean b = false;
        System.out.println("a且b:" + a&&b);  
        System.out.println("a或b:" + a||b);
        System.out.println("a且b取反:" + !(a&&b));
        
        //短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);//因为c<4false,短路后面不计算
        System.out.println(d);
        System.out.println(c);
    }
}
package opreator;

public class Demo{
    public static void main(String[] args){
       /*
       A = 0011 1100
       B = 0000 1101
       ---------------------
       //二进制进位
       A&B = 0000 1100
       A|B = 0011 1101
       A^B = 0011 0001
       ~B = 1111 0010
       
       2*8 = 16 2*2*2*2
       效率极高!!!
       <<   *2
       >>   /2
       */
       System.out.println(2<<3);
    }
}

8、三元运算符及小结

package opreator;

public class Demo{
    public static void main(String[] args){
       	int a = 10;
       	int b = 20;
       	a+=b;//a=a+b
      	System.out.println(a);
       	//字符串连接符 +
		System.out.println(a+b);
        System.out.println(""+a+b);
        
    }
}
package opreator;

//三元运算符
public class Demo{
    public static void main(String[] args){
       	//x ? y : z
        //如果x==true,则y否则z
        int score = 80;
        String type = score < 60 ? "不及格" : "及格";//必须掌握
        System.out.println(""+a+b);
        
    }
}

9、包机制

为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。

包语句的语法格式:

package pkg1[.pkg2[.pkg3...]];

一般利用公司域名倒置作为包名;

为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可完成此功能。

import package1[.package2...].(classname|*);

10、Java Doc生成文档

javadoc 命令是用来生成自己 API 文档的

参数信息

  • @author 作者名
  • @version 版本号
  • @since 指明需要最早使用的jdk版本
  • @param 参数名
  • @return 返回值情况
  • throws 异常抛出情况
package com.CloakBlowing.base;
/**
 *@author 披着披风吹着风
 *@version 1.0
 *@since 1.8
 */
public class Doc{
    String name;
    /**
 	 *@author 披着披风吹着风
 	 *@param name
 	 *@reyurn
 	 *@throws Exception
 	 */
    public String test(String name){
        return name;
    }
}

DOS命令:

javadoc 参数 Java文件

javadoc -encoding UTF-8 -charset UTF-8 Doc.java

posted @ 2022-03-26 17:35  披着披风吹着风  阅读(48)  评论(1编辑  收藏  举报