狂神说Java学习笔记 Java基础

本文详细介绍了Java编程的基础知识,包括机器语言、汇编语言、高级语言的演化,重点讲解了Java的特性如简单性、面向对象、可移植性等。还深入讨论了Java中的数据类型、类型转换、变量、作用域、常量、变量命名规范以及运算符。此外,还提到了Java的包机制和JavaDoc的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

机器语言

第二代语言(汇编语言)

第三代语言

高级语言

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值