Java基础语法 学习笔记

Java基础语法(java认证考试)

注释,标识符,关键字

注释

(平时写代码一定注意规范)
Java中的注释有三种
  1. 单行注释

    public class HelloWorld{
        public static void main(String[] args){
            //输出一个Heller,World!   ----单行注释
            System.out.println("Hello,World!");
            
        
        }
    }
    

2.多行注释

/*

*/

3文档注释

标识符:

java的所有组成部分都需要名字.类名,变量名以及方法名都被成为标识符

关键字

abstractassertbooleanbreakbyte
casecatchcharclassconst
continuedefaultdodoubleelse
enumextendsfinalfinallyfloat
forgotoifimplementsimport
instanceofintinterfacelongnative
newpackageprivateprotectedpublic
returnstrictfpshortstaticsuper
switchsynchronizedthisthrowthrows
transienttryvoidvolatilewhile

注意点:

●所有的标识符都应该以字母(AZ或者a-z)美元符($)、或者下划线()开始
●首字符之后可以是字母(A-z或者a-z),美元符($)、下划线()或数字的任何字符组合
●不能使用关键字作为变量名或方法名。
●标识符是***大小写敏感***的
合法标识符举例:age、$ salary、 ivalue、1vaue
●非法标识符举例:123abc、- salary、#abc
●可以使用中文命名,但是一般不建议这样去使用,也不建议使用拼音,很Low
public static void main(String[] args)t
String王者荣耀=“最强王者";
System. out, println(王者荣耀);

数据类型

强类型语言

要求变量的使用要严格符合规定所有变量都必须先定义后才能使用

弱类型语言

Java的数据类型分为两大类:

◆基本类型

数值类型:

整数类型:

  1. byte
  2. short
  3. int
  4. long 数字后面加L

浮点类型:

  1. float 数字后面加F
  2. double

boolean类型:

占一位其值只有ture和flase两个

◆引用类型
  1. 接口

  2. 数组

    public class Demo2 {
        public static void main(String[] args) {
            //八大数据类型:
    
            //1.整数
            int num1=10;//是最常用的类型
            byte num2=20;
            short num3 =30;
            long num4 =30L;//Long类型要在数字后面加L
    
            //2.小数:浮点数
            float num5 = 50.1F;//float类型需要数字后面加F
            double num6 = 3.1415926;
    
            //3.字符
            char name = '中';//只有一个字,占两个字节
    
            // 4.布尔值
            boolean flag= true;
              //boolean flag = false;
    
    
        }
    }
    
◆扩展(面试内容):
public class Demo3 {
    public static void main(String[] args) {
        //二进制 0b    十进制     八进制 0    十六进制 0x
        int i=10;
        int i2 =010;//八进制0
        int i3 = 0x10;//十六进制0x
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("====================================");
//=====================================================
     //浮点数扩展     银行业务怎么表示? 钱
     //float :有限 离散  舍入误差  大约  接近但不等于
        // double
        //最好完全使用浮点数进行比较
        float f= 0.1f;
        double d = 1.0/1.0;
        System.out.println(f==d);//结果是错误,不相等

        //================================================
        //字符拓展
        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字节
        char c3 ='\u0061';
        System.out.println(c3);

    //  转义字符
    //  \t   制表符
    //  \n   换行
    //还有很多
    System.out.println("hello\tword");
        System.out.println("hello\nword");

    }
}

类型转换

Java是强类型语言,所以要进行有些运算的时候需要用到类型转换

低--------------------------->高

byte, short , char --> int --> long --> float --> double

运算中,不同类型的数据先转化为同一类型,在进行运算

强制转换

自动转换

public class Demo4 {
    public static void main(String[] args) {
        int i = 128;
        double b = i; //自动转换  低---高
        byte c = (byte) i; //强制转化   (类型)变量名

        System.out.println(b);
        /*
        注意点:
        1.不能对布尔值进行转化
        2.不能把对象类型转换为不相干的类型
        3.在把高熔炼转换到低容量的时候,强制转换.
        4.转换的时候可能存在内存溢出,或者精度问题!
         */
        System.out.println("=====================");
        System.out.println((int)23.7);
        System.out.println((int)-45.89f);

        System.out.println("=====================");
        char d ='a';
        int e = d+1;
        System.out.println(e);
        System.out.println((char)e);
        System.out.println("=====================");

        //操作比较大的数的时候,注意溢出问题
        int money = 10_0000_0000;   //JDK新特性,数字之间可以用下划线
        int years = 20;
        int total = money * years; //  -1474836480  ,计算的时候溢出了
        long total2 = ((long)money)*years;
        System.out.println(total2);//先把一个属转换为long


    }
}

变量,常量

◆变量是什么"?"

就是可以变化的量!

◆Java是一种强类型语言,每个变量都必须声明其类型。

◆Java变量是程序中***最基本的存储单元***,其要素包括变量名,变量类型和作用域。

type varName  [=value] [{,varName[=value]}];
//数据类型   变量名=值;可以使用逗号隔开来声明多个同类型变量
public class Demo5 {
    public static void main(String[] args) {
        int a=1;
        int b=2;
        int c=3;
        String name ="hanhan";
        char x = 'X';
        double pi = 3.14;
    }
}

◆注意事项:

●每个变量都有类型,类型可以是基本类型,也可以是引用类型。
●变量名必须是合法的标识符。
●变量声明是一条完整的语句,因此每一个声明都必须以分号结束

public class Demo6 {
    //类变量   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 Demo6();
        Demo6 demo6 = new Demo6();
        System.out.println(demo6.age);
        System.out.println(demo6.name);

        //类变量   static
        System.out.println(salary);
    }

    //其他方法
    public void add(){

    }
}

常量:

◆常量( Constant):初始化( initialize)后不能再改变值!不会变动的值
◆所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。
◆常量名一般使用大写字符。

final 常量名 =;
final double PI = 3.14;
public class Demo7 {
// final static double PI = 3.14;也是可以的.
    //修饰符,不存在先后顺序.
    static final double PI = 3.14;

    public static void main(String[] args) {
        System.out.println(PI);
    }
}

变量的命名规范:

◆所有变量、方法、类名:见名知意
◆类成员变量:首字母小写和驼峰原则: monthSalary 除了第一个单词以外,后面的单词首字母大写: lastname
◆局部变量:首字母小写和驼峰原则
◆常量:大写字母和下划线: MAX _VALUE
◆类名:首字母大写和驼峰原则:Man, GoodMan
◆方法名:首字母小写和驼峰原则:run(), runRun())

运算符

◆Java语言支持如下运算符:

·算术运算符:+,-,* ,/,%,++,–
·赋值运算符 =
·关系运算符:>,<,>=,<=,==,!= instanceof
·逻辑运算符:&&,||, !
位运算符:&,|,^,~,>>,<<,>>>(了解!!!)
条件运算符?:
扩展赋值运算符:+=,-=,* *=,/=

◆自增自减:

package operator;

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

        int a = 3;
        int b = a++;//  a++逻辑为执行完这行代码后.先给b赋值,然后a再自增. 因此b为3,也就是初始值a.

        System.out.println(a); //结果为4
        // 在执行完后,a=a+1;  a=4;继续运行下一个
        int c = ++a; //++a 逻辑为执行完这行代码前,a先进行自增,然后再给c赋值,此时a=4+1=5,c=5.
        System.out.println(a);//结果:5
        System.out.println(b);//结果:3
        System.out.println(c);// 结果:5

    }
}

幂运算 使用工具类

//幂运算  .. 很多的运算需要使用一些工具类来操作
        double pow = Math.pow(2,3);
        System.out.println(pow);
//这个就是2的三次方

逻辑运算符

package operator;

public class Demo3 {
    public static void main(String[] args) {
        //逻辑运算符
        //  与(and)(&&)  或(or)(||)    非(取反)(!(a&&b))
        boolean a = true;
        boolean b = false;
        System.out.println(a&&b); //逻辑与运算:两个变量都为真,结果才为true.
        //在进行 与 操作时,会有逻辑顺序,a&&b,会先检验a,如果a错误,不会执行b.用短路运算来证明一下.
        System.out.println(a||b);//逻辑或运算:两个变量有一个为真,结果为true
        System.out.println(!(a&&b));//如果是真,则变为假;如果为假,则变为真.
     //短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(d);//结果为错
        System.out.println(c);//c为5, 因为前面c<4错误,因此不会运行c++,c的值也就不会变化.
    }
}

位运算符

package operator;
//位运算符
public class Demo4 {
    public static void main(String[] args) {
/*
A =    0011 1100
B =    0000 1101
------------------------------------------------------
A & B  0000 1100    //与: 都为1,才是1.不然为0
A | B  0011 1101    //或:有一个为1,就是1,其余为0
A ^ B  0011 0001   //亦或  :如果值相同为0,不同为1
~ B    1111 0010
-----------------------------------------------------
面试题2 * 8 怎么算最快
<< 左移 :相当于*2
>>  右移:相当于/2
!!!!效率极高
 */
        System.out.println(2<<3);//结果为16
        System.out.println(-20>>2);//结果为-5
        System.out.println(-20<<2);//结果为-80
    }
}
知识点:
package operator;

public class Demo5 {
    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+b);
        System.out.println(""+a+b);//结果为: 1020   只要前面开头出现字符串类型,则会转换成字符串连接,
        System.out.println(a+b+"");//结果为:30
    }
}

三元运算符

package operator;
//三元运算符
public class Demo6 {
    public static void main(String[] args) {
        // x? y:z
        //如果x==true,则结果为y,负责结果为z
        int score = 80;
         String type = score <60?"不及格":"及格";
        System.out.println(type);//结果为:及格
    }
}

包机制,JavaDoc

包机制

2

◆为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
◆包语句的语法格式为:
package pkg1[. pkg2[. pkg3…];
◆一般利用公司域名倒置作为包名
◆为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用" import"语句可
完成此功能
import package1[.package2…] .(classname| *);

JavaDoc

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

◆参数信息
◆@ author作者名
◆@ version版本号
◆@ since指明需要最早使用的jdk版本
◆@ paran参数名
◆@ return返回值情况
◆@ throws异常抛出情况

ring type = score <60?“不及格”:“及格”;
System.out.println(type);//结果为:及格
}
}




## 包机制,JavaDoc

### 包机制

2

◆为了更好地组织类,Java提供了包机制,用于区别类名的命名空间。
◆包语句的语法格式为:
package pkg1[. pkg2[. pkg3....];
◆一般利用公司域名倒置作为包名
◆为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用" import"语句可
完成此功能
import package1[.package2...] .(classname| *);



### JavaDoc

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

◆参数信息
 ◆@ author作者名
 ◆@ version版本号
 ◆@ since指明需要最早使用的jdk版本
 ◆@ paran参数名
 ◆@ return返回值情况
 ◆@ throws异常抛出情况

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值