day2学习java 基础语法

编译器

编译器和解释器

把整个文件全篇翻译

complie

比如操作系统、c、c++

解释器

一行一行翻译

比如网页、脚本

python、javascript

java是两个的结合

先编译

在操作系统解释

javac :编译成class文件

java : 执行相当于解释

IDEA

IDE:Eclipse、IDEA

jetbrains

IntelliJ IDEA:JetBrains 功能强大、符合人体工程学的 Java IDE

有两种版本 完整版ultimate版需付费 可以用学生邮箱认证免费

免费教育许可证 - 社区支持 (jetbrains.com)

安装有选项:

  • Create Desktop Shortcut:创建桌面快捷方式,根据操作系统选择;
  • Update context menu:鼠标右键添加“打开文件夹作为项目”选项,看个人需要;
  • Create Associations:创建关联,勾选后打开对应文件都是以IDEA打开;
  • Download and install 32-bit JetBrains Runtime:下载并安装32位运行环境,安装JDK已经安装过就无需勾选。个人不建议勾选,此处安装是在JetBrains下载,国内网速普遍下载缓慢;
  • Update PATH variable(restart needed):更新路径变量(需要重启),添加IDEA的环境变量。

语法基础

注释

单行注释

//

多行注释

/* */

文档注释

javadoc

/**

*/

标识符

关键字

类名、变量名、方法名 都是标识符

字母、美元符号$ 下划线_ 开头

后面可以是 字母、美元符号、下划线、数字

不能跟关键字重名

数据类型

java是强类型语言 c、c++也是

所有变量要定义后才能使用

byte : 1个字节 8bit -128~127

short : 两个字节 -32768~32767

int 4B : -2147483648~ 2147483647 正负21亿

long 8Bytes

浮点:

float 4Bytes

double 8Bytes

boolean 一位

字符类型

char 2Bytes

String不是关键词

是一个类

基本类型代码

public class demo02 {
    public static void main(String[] args) {
        //先定义
        String a = "string";
        short num = 123;
        long num_long = 1244L;//后面要加L
        char c = '中';//字符是一个字
        boolean bool = false;
        float num_float = 50.1F;//后面加F
        double num_double = 3.1415926535897;
        //后使用
        System.out.println(a);
        System.out.println(num);
        System.out.println(c);
        System.out.println(bool);
        System.out.println(num_long);
    }
}

类型转换

不同类型会转为同一个类型再运算

  1. 不能对布尔值进行转换
  2. 不能把对象类型转换为不相干的类型
  3. 高容量转低容量 强制转换会内存溢出、精度出问题
public class transform {
    public static void main(String[] args) {
        int i = 128;
        //byte b = i;报错
        byte b = (byte)i;//强制转换

        System.out.println(i);
        System.out.println(b);//最大值127  128会溢出

        System.out.println((int)23.7);//精度出问题
        System.out.println((int) -123.21f);//小数被抹除

        char c = 'a';
        int d = c+1;
        System.out.println(d);//98
        System.out.println((char) d);//b

        //JDK7新特性
        int money = 10_0000_0000;
        int years = 20;
        System.out.println(money);//JDK7新特性:数字间可用下划线分割
        System.out.println(years);

        System.out.println((long)money * (long) years);
    }
}

变量作用域

局部变量

方法的里面

实例变量

类里面 方法的外面

Class class = new Class();

class.实例变量

可用不初始化 会得到默认值

除了基本类型 其他都是null

布尔值的默认值是false

类变量

在类里面声明

带 static

例如:

static double salary = 2500;

常量

final 常量名 = 值

通常 常量名大写

修饰符 final 、static、public等等不存在先后顺序

命名规范

运算符

instanceof

非 !

package operator;

public class Demo02 {
    public static void main(String[] args) {
        long a = 123123123232L;
        int b = 123;
        short c=  10;
        byte d = 9;

        System.out.println(a+b+c+d);
        System.out.println(b+c+d);
        System.out.println(c+d);//int

        //Math 类里面有pow 幂函数
        System.out.println(Math.pow(2,3));//8.0

    }
}

a&b 按位与

a|b 按位或

a^b 按位异或 相同为0 不同为1

~b 取反

<< 左移 相当于*2

>> 右移 相当于/2

包机制

package kuangStudy.operator;

/**
 * @author jason
 * @version 1.0
 * @since 1.8
 *
 */
public class javaDoc {
    public static void main(String[] args) {


    }
    String name;

    /**
     *
     * @param name
     * @return
     */
    public String test(String name)
    {
        return name;
    }
}

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

执行结果:

正在加载源文件javaDoc.java...
正在构造 Javadoc 信息...
标准 Doclet 版本 1.8.0_202
正在构建所有程序包和类的树...
正在生成.\kuangStudy\operator\javaDoc.html...
javaDoc.java:18: 警告: @param 没有说明
* @param name
^
javaDoc.java:19: 警告: @return 没有说明
* @return
^
正在生成.\kuangStudy\operator\package-frame.html...
正在生成.\kuangStudy\operator\package-summary.html...
正在生成.\kuangStudy\operator\package-tree.html...
正在生成.\constant-values.html...
正在构建所有程序包和类的索引...
正在生成.\overview-tree.html...
正在生成.\index-all.html...
正在生成.\deprecated-list.html...
正在构建所有类的索引...
正在生成.\allclasses-frame.html...
正在生成.\allclasses-noframe.html...
正在生成.\index.html...
正在生成.\help-doc.html...
2 个警告

用IDEA生成JavaDoc文档:

System.out.println()括号里面可以用加号相连

public class Demo03 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        System.out.println(a+b+" ");//"30 "
        System.out.println(" "+a+b);//" 1020"
    }
}

Ctrl +D 复制当前行到下一行

posted @ 2021-02-02 17:29  jasonwww  阅读(82)  评论(0)    收藏  举报