一、Java基础

Java基础

#代码在<基础语法>里面

一、注释、标识符、关键字

#demo01

(一)注释

Java中注释有三种:单行注释(双斜杠//),多行注释(/* /),文档注释(/* */)

书写注释是一个非常好的习惯

(二)标识符

Java所有的组成部分都需要名字。类名、变量名、方法名都被称为标识符

  • 标识符注意点

  • 所有的标识符都应该以字母,美元符($),或者下划线开始

  • 首字母之后可以是字母,美元符,下划线或数字的任意字符组合

  • 不能使用关键字作为变量名或方法名

  • 标识符是大小写敏感的*

  • 可以使用中文或拼音命名,但是十分不建议!!!

    合法举例:age , $salary , _value , __1_value

    非法举例:123abc , -salary , #abc

(三)关键字

一些常用的关键字:

2
二、数据类型

#demo02

(一)强类型语言

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

(二)弱类型语言
(三)Java的数据类型分为两大类
  • 基本类型
  • 引用类型
3

#demo03拓展:整数拓展,浮点数拓展,字符拓展,布尔值拓展

三、类型转换

#demo04*

由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。运算中,不同的数据类型先转化为同一类型,然后进行计算。

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

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

(一)强制转换(高->低)
public class demo04 {
    public static void main(String[] args) {
        int i = 128;
        byte b = (byte)i;//输出为-128,内存溢出,所以转换的时候一定要注意
        //此处为强制转换,高->低
        System.out.println(i);
        System.out.println(b);
    }
}
(二)自动转换(低->高)
(三)注意点
  1. 不能对布尔值进行转换

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

  3. 在把高容量转换为低容量时,强制转换

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

    public class demo05 {
        public static void main(String[] args) {
            //操作比较大的数的时候,注意溢出问题
            //JDK7新特性:数字之间可以用下划线分割
            int money = 10_0000_0000;
            int year = 20;
            int total = money*year;
            long total2 = money*year;
            System.out.println(total);//输出为-1474836480,计算的时候溢出
            System.out.println(total2);//默认是int,就算用long来接受,但是转换之前以及出现问题了
            long total3 = money*((long)year);
            System.out.println(total3);//成功输出正确结果
        }
    }
    
    System.out.println((int)23.7);//输出为23
    System.out.println((int)-45.89f);//输出为-45,精度问题
    
四、变量、常量

#demo06,demo07

Java是一中强类型语言,每个变量都必须申明类型。Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。

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

public class demo06 {
    public static void main(String[] args) {
        //定义变量
        //int a = 1,b = 2,c = 3;  //不建议
        int a = 1;
        int b = 2;
        int c = 3;
        String name = "yangyuxi";
        char x = 'X';
        double pi = 3.14;

    }
}
  • 注意事项:
  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
  • 变量名必须是合法的标识符
  • 变量声明是一条完整的语句,因此每个一声明都必须以分号结束
(二)变量作用域
  1. 类变量(static)
  2. 实例变量
  3. 局部变量
public class demo07 {
    //属性:变量
       
    	/*实例变量:从属于对象;如果不自行初始化,则这个类型的默认值 0 0.0
        布尔值默认false 除了基本类型其他的默认值都是null*/
        String name;
        int age;

        /*类变量 static*/
        static double salary = 5000;

    public static void main(String[] args) {
    //main方法

        /*局部变量:必须声明和初始化值*/
        int i = 10;
        System.out.println(i);//必须赋初始值才输出

        //使用实例变量的方式
        //变量类型 变量名字 =new demo07()
        demo07 Demo07 = new demo07();
        System.out.println(Demo07.age);
        System.out.println(Demo07.name);

        //使用类变量的方式
        System.out.println(salary);
    }
    //============================================
    //其他方法
    public void add() { }
}
(三)常量

就是初始化后不能再改变值,不会变动的值。可以理解为一种特殊的变量,它的值在被设定后,在程序的运行过程中不允许被改变。

  • 常量一般使用大写字符
final 常量名 =;
final double PI=3.14;
public class demo08 {

    //static是修饰符,不存在先后顺序
    static final double PI = 3.14;
    //常量通过final来定义

    public static void main(String[] args) {
        System.out.println(PI);
    }
}
(四)变量的命名规范
  • 所有的变量、方法、类名:见名知意

  • 类成员变量:首字母小写和驼峰原则:monthSalary

    除了第一个单词以为,后面的单词首字母大写

  • 局部变量:首字母小写和驼峰原则

  • 常量:大写字母和下划线:MAX_VALUE

  • 类名:首字母大写和驼峰原则:Man,Goodman

  • 方法名:首字母小写和驼峰原则:run() , runRun()

五、运算符

#Demo01,Demmo02,Demo03,Demo04(拓展Math类),Demo05 , Demo06,Demo07

​ *** 算术运算符:**+,-,*,/,%,++,–

​ *赋值运算符:=

​ *关系运算符:> , < , >= , <= , ==(注意是两个等于) , !=instanceof

​ *逻辑运算符:&& , || , !

​ 位运算符:& , | , ^ , ~ , >> , << , >>>(了解)

package operator;
public class Demo06 {
    public static void main(String[] args) {
        //位运算 与二进制有关,计算机底层原理  好处:效率高
        /*
        A = 0011 1100
        B = 0000 1101

        A & B  ->  0000 1100
        A | B  ->  0011 1101
        A ^ B  ->  0011 0001  相同为0,不相同为1
        ~ B    ->  1111 0011  取反

        面试题:2*8怎么运算最快
        (  <<左移 -> *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);
    }
}

​ 条件运算符: ? :(三目)

//x ? y : z
//如果x==true,则结果为y,否则结果为z

​ 赋值运算符:+=,-=,*=,/=

​ 补充:字符串的拼接

/*字符串链接符: +  (面试题) */
System.out.println(a+b);
System.out.println(""+a+b);//如果字符串在前面,会转化成string再拼接
System.out.println(a+b+"");//如果字符串在后面,则先运算再拼接

​ 运算符优先级:

8
六、包机制、JavaDoc
(一)包机制

为了更好地组织类,Java提供了包机制,用于区别类名的命名空间,包的本质就是文件夹

包语法的格式为:

​ package pkg1[ . pkg2[ . pakg3…]];

​ package com.javastudy.operator;

一般利用公司域名倒置作为包名,包里面的名字尽量不要重复

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

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

    import com.javastudy.base.demo02;
    

    *会的导入这个包下所有的类

(二)JavaDoc

JavaDoc命令是用来生成自己API文档的(代码在javastudy.base.Doc)

参数信息:

  • @author 作者名
  • @version 版本号
  • @since 指明需要最早使用的JDK版本
  • @param 参数名
  • @return 返回值情况
  • @throws 异常抛出情况
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值