java 基础入门

java基础学习笔记(一)

java优势:面向对象、可移植、分布式、动态性、多线程。。。

java安装路径 D:\java8\jdk\

测试jdk是否安装成功,在cmd输入 Java -version

编写代码输出HelloWorld

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

编译javac

在这里插入图片描述

java 程序运行机制

编译型

全部编译,但更新麻烦(操作系统、C/C++)

解释型

走一步运行一步,效率低(网页、Java、Python)
Javac——class——解释器解释

IDEA运行Hello World

快捷键:psvm, sout

Java基础语法

注释

单行 //
多行 /* 我是多行注释 /
文档 /
* */ ( /**开头, */结尾)

public class HelloWorld {
    public static void main(String[] args) {
        //单行注释

        /*
        我是多行注释
         */
         
        //文档注释
        /**
         *
         * */
        System.out.println("Hello,World!");
    }
}
标识符
关键字

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

标识符注意点
  • 标识符由数字(0-9)和字母(A-Z 和 a-z)、美元符号($)、下划线(_)以及 Unicode 字符集中符号大于 0xC0 的所有符号组合构成(各符号之间没有空格)
  • 标识符的第一个符号为字母、下划线和美元符号,后面可以是任何字母、数字、美元符号或下划线
  • 标识符大小写敏感
  • 标识符不能重名
数据类型
强类型语言

所有变量定义后才能用

基本类型(整数、浮点、字符)
  • 数值类型:

     整数类型:byte占1个字节范围:-128~127    (2的8次方除以2)
                       short占2个字节范围:-32768~32767
                       int占4个字节范围:-2147483648~2147483647
                       long占8个字节范围:-9223372036854775808~9223372036854775807
     浮点类型:float 占4个字节
                       double 占8个字节
     字符类型:char占2个字节
    
  • 布尔类型:占1位,值只有true、 false

引用类型

  • 接口
  • 数组
科普一下基本知识在这里插入图片描述
//输入
        //float   有限   离散    舍入误差       大约       接近但不得等于
        //double
        //最好完全避免使用浮点数进行比较     
        float f =0.1f;
        double d =1.0/10;
        System.out.println(f==d);//false

        float d1=231231231231f;
        float d2=d1+1;
        System.out.println(d1==d2);//true
        //浮点数扩展       银行业务怎么表示?钱
        //DigDecimal   数学工具类
//输出
false
true
Class transformation time: 0.0182823s for 105 classes or 1.7411714285714286E-4s per class
变量

Java 强类型语言,变量必须声明类型
变量:Java最基本存储单元,包括变量名、数据类型和作用域
作用域包括:类变量、实例变量、局部变量。

//变量练习
public class Demo05 {
    //类变量 static 从属于类
    static double salary = 2500;

    //属性:变量

    //实例变量,在类的里面,方法外面。从属于对象(Demo05)
    //实例变量如果不初始化,这个类型的默认值  0   0.0    布尔值:默认false
    //除了基本类型其余默认值都是null
    String name;
    int age;

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

        //局部变量;必须声明和初始化;只在括号内有用
        int i = 10;
        System.out.println(i);

        //变量类型(自定义类型)  变量名字  = new Demo05();
        Demo05 demo05 = new Demo05();
        System.out.println(demo05.age);
        System.out.println( demo05.name);

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

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

    }

}

输出

10
0
null
2500.0
常量

关键词 final
final 常量名 = 值;
常量名一般用大写

//常量定义 final
public class Demo06 {
    //static修饰符,没前后顺序.
    static final double PI1 = 3.14; //静态常量
    final static double PI2 = 3.14;

    public static void main(String[] args) {
        final double PI = 3.14;

        System.out.println(PI);
        System.out.println(PI1);
        System.out.println(PI2);
    }
}

输出

3.14
3.14
3.14
变量命名规范

在这里插入图片描述

运算符

①、算术运算符。

+ — * / %

%:任何整数模2不是0就是1,所以只要改变被模数就可以实现开关运算。

+:连接符。

++,——

package operator;

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

        System.out.println(a+b+c+d); //long  有一个数为long,结果就为long
        System.out.println(b+c+d); //int   没long,结果都为int
        System.out.println(c+d);//int

    }
}

输出
219377732829846
1018
18

②、赋值运算符。

= += —= *= /= %=

③、关系运算符。

特点:该运算符的特点是:运算完的结果,要么是true,要么是false。

package operator;

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符,运算结果,要么是true,要么是false
        int a=10;
        int b=20;
        int c=21;

        System.out.println(c%a);//取余数

        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);

    }
}


输出
1
false
true
false
true

④、逻辑运算符。

& | ^ ! && ||

逻辑运算符除了 ! 外都是用于连接两个boolean类型表达式。

&: 只有两边都为true结果是true。否则就是false。

|:只要两边都为false结果是false,否则就是true

^:异或:和或有点不一样。

两边结果一样,就为false。

两边结果不一样,就为true.

& 和 &&区别: & :无论左边结果是什么,右边都参与运算。

&&:短路与,如果左边为false,那么右边不参数与运算。

| 和|| 区别: |:两边都运算。

||:短路或,如果左边为true,那么右边不参与运算。

⑤、位运算符:用于操作二进制位的运算符。

& | ^

<< >> >>>(无符号右移)

//逻辑运算符
public class Demo05 {
    public static void main(String[] args) {
        // 与 获 非
        boolean a = true;
        boolean b = false;
        System.out.println("a && b:"+ (a && b));//两个为真结果才true
        System.out.println("a || b:"+(a || b));//两个中一个为真结果为true
        System.out.println("!(a && b):"+!(a && b));//如果是真则为false

        //短路运算
        int c =5;
        boolean d =(c<4)&&(c++<4);//c<4为false,后面不执行
        System.out.println(d);
        System.out.println(c);
    }
}

输出
a && b:false
a || b:true
!(a && b):true
false
5
package operator;

public class Demo06 {
    public static void main(String[] args) {
        /* 位运算
          A=0011 1100
          B=0000 1101

          A&B (两个都为1才1)   1100 1100
          A/B (都是0才为0,有一个1则为1)  0011 1101
          A^B (相同则为0,不同为1)  0011 0001
          ~B  (取反)   1111 0010

           2*8怎么最快   2*2*2*2
           效率高
           << 左移   *2
           >> 右移   /2

           0000 0000   0
           0000 0001   1
           0000 0010   2
           0000 0011   3
           0000 0100   4
           0000 0101   5
           0000 1000   8
           0001 0000   16
         */
    }
}
public class Demo07 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        a+=b;
        a-=b;
        System.out.println(a);

        //字符串连接符 +
        System.out.println(a+b);
        System.out.println(""+a+b); //前面出现String类型,都转为 String
        System.out.println(a+b+"");  //后面出现String类型,依旧运算
    }
}

输出
10
30
1020
30
三元运算符
public class Demo08 {
    public static void main(String[] args) {
        //三元运算符
        //x ? y : z
        //x 为 true结果为 y 否则为 z
        int score =80;
        String type = score < 60 ? "不及格" : "及格";
        System.out.println(type);
    }
}

输出
及格
包机制

包的本质是文件夹
一般用公司域名倒置作为包名 com.baidu.www
导包 :按住alt + 回车
导入包下所有文件:

import com.lqy.base.*;

JavaDoc

  • 方法1:用命令行生成JavaDoc文档(生成前要确保operator文档中有Doc.java这个文件)
    在这里插入图片描述
    -方法2:用idea导出
    先编辑java文件
package com.lqy.operator;
/**
 * @author 作者名
 * @version  版本号
 * @since  最早用的jdk版本
 */

public class Doc {
    String name;
    /**
     * @author
     * @version
     *@since
     */

    public String test(String name) throws Exception{
        return name;
    }

}

在这里插入图片描述
在这里插入图片描述

  • 第一步:选择生成JavaDoc文档的范围,我对文件生成Doc,所以选择File。
  • 第二步:确定输出路径。
  • 第三步:区域设置,决定文档的语言,简体中文就是zh_CN、繁体(台湾)zh_tw、繁体(香港)zh-hk、英语(香港)en-hk、英语(美国)en-us、英语(英国)en-gb、英语(全球)en-ww。
  • 第四步:其他命令行参数:如果区域设置为中国,参数一般为-encoding UTF-8 -charset UTF-8
  • 第五步:点击OK即可生成
  • 第六步:打开输出的路径,找到 index.html 便能看生成的文档
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值