狂神说Java学习笔记 Java基础

目录

机器语言

第二代语言(汇编语言)

第三代语言

高级语言

Java特性和优势

JDK(Java Development Kit)

JRE(Java Runtime Enviroment)

JVM(Java Virtual Machine)

Java中的关键字

数据类型

类型转换

变量

变量作用域

常量(constant)

变量命名规范

运算符

包机制

Java Doc


机器语言

第二代语言(汇编语言)

第三代语言

高级语言

大体上分为:面向过程(c语言)、面向对象(c++语言,java语言)

c#语言

Python、PHP、JavaScript

Java特性和优势

简单性、面向对象性、可移植性、高性能、分布式、动态性、多线程、安全性、健硕性

JDK(Java Development Kit)

JRE(Java Runtime Enviroment)

JVM(Java Virtual Machine)

Java中的关键字

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

    可以用字母或$开头

    可以使用中文命名,但不建议

  • IDEA上的快捷操作:

    psvm

    sout

数据类型

  1. 强类型语言

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

  1. 弱类型语言

  2. Java的数据类型分为两大类

  • 基本类型(primitive type)

    • 数值类型

      • 整数类型

        • byte占1个字节:-128-127

        • short占2个字节:-32768-32767

        • int占4个字节范围:-2147483648-2147483647

        • long占8个字节范围:-9223372036854775808-9223372036854775807

      • 浮点类型

        • float占4个字节

        • double占2个字节

      • 字符类型char占2个字节

    • boolean类型:占1位,值只有true和false两个

  • 引用类型(reference type)

类型转换

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

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

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

  • 运算中,不同类型的数据先转换为同一类型,然后进行运算

  • 强制类型转换

    (类型)变量名 高->低

  • 自动类型转换

    低->高

  • 注意点: 1. 不能对布尔值进行转换 2. 能把对象类型转换为不相干的类型 3. 在高容量转换到低容量时,强制转换 4. 换的时候可能存在内存溢出或者精度问题

变量

  • 每个变量都必须声明其类型

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

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

  • 注意事项:

    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。

    • 变量名必须是合法的标识符

    • 变量的声明是一条完整的语句,因此每一个声明都必须以分号结束

变量作用域

  • 类变量

  • 实例变量

  • 局部变量

public class Variable {
      static  int allClicks=0; //类变量
      String str="hello world";//实例变量
      public void method() {
          int i=0;//局部变量        
      }
 }

 public class Demo07 {
     //属性:变量
     //类变量 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);
 ​
         //变量类型
         Demo07 demo07=new Demo07();
         System.out.println(demo07.age);
         System.out.println(demo07.name);
 ​
         //类变量 static
         System.out.println(salary);
     }
     //其他方法
     public void add(){
     }
 }

常量(constant)

  • 常量(Constant):初始化(initialize)后不能再改变值

  • 特殊的变量,它的值在设定后,在程序运行过程中不允许被改变。

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

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

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

变量命名规范

  • 所有变量、方法、类名:见名如意

  • 类成员变量:首字母小写和驼峰原则:monthSalary 除了第一个单词以外,后面单词首字母大写

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

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

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

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

运算符

Java语言支持如下运算符:

  • 算术运算符:+,-,*,/,%,++(自增),--(自减)

     public class Demo03 {
         public static void main(String[] args) {
             //++ -- 自增,自减 一元运算符
             int a=3;
             int b=a++; //执行代码后,先给b赋值,再自增
             //a++ a=a+1;
             System.out.println(a);
             //++a =a+1
             int c=++a;//执行完这行代码前,a先自增,再给b赋值
             System.out.println(a);
             System.out.println(b);
             System.out.println(c);
             //幂运算
             double pow=Math.pow(2,3);
             System.out.println(pow);
         }
     }
  • 赋值运算符=

  • 关系运算符:>,<,>=,<=,==,!=,instanceof

  • 逻辑运算符:&&,||,!

     //短路运算:测试当发生false时,关系运算符的后面的部分就不再运行
     int f=5;
     boolean d=(f<4)&&(f++<4);
     System.out.println(d);
     System.out.println(f);
  • 位运算符:&,|,^,~,>>,<<,>>>

     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 逐位比较,位上相同取0,位上不同取1 0011 0001
             ~B  逐位取反 1111 0010
     ​
             效率高
             <<左移 *2
             >>右移 /2
             */
             System.out.println(2<<3);
         }
     }
  • 条件运算符?:

    package operator;
     ​
     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);
     ​
         }
     }
  • 扩展赋值运算符:+=,-=,*=,/=

     package operator;
     ​
     public class Demo07 {
         public static void main(String[] args) {
             int a=10;
             int b=20;
             //字符串连接符 +,String
             System.out.println(""+a+b);//直接连接成字符串
             System.out.println(a+b+"");//先计算,再连接成字符串
         }
     }

不同类型的变量运算时,运算结果的类型取其中最高的类型

包机制

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

  • 包语句的语法格式:

     package pkg1[.pkg2[.pkg3....]]
  • 一般利用公司域名倒置作为包名;

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

    import package1[.package2...].(classname|*);
     /*导入这个包下所有的类
     import java.util.*;
     */

Java Doc

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

package com.zzhhangjiashun.base;
 ​
 /**
  * @author zhangjiashun
  * @version 1.0
  * @since 1.8
  */
 public class Doc {
     String name;
 ​
     /**
      * 
      * @param name
      * @return
      * @throws Exception
      */
     public String test(String name) throws Exception{
         return name;
     }
 }

参数信息

  • @author 作者名

  • @version 版本号

  • @since 指明需要最早使用的JDK版本

  • @param参数名

  • @return 返回值情况

  • @throws 异常抛出情况

    通过命令行生成命令行

     F:\Javawork\JavaSE\基础语法\src\com\zzhhangjiashun\base>javadoc -encoding UTF-8 -charset UTF-8 Doc.java
  • 本文章为学习笔记,如有错误,欢迎指正

  • 狂神说Java语法基础视频学习链接

  • 视频链接:https://www.bilibili.com/video/BV12J41137hu

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值