• Java基础-语法-上


    Java基础

    Java背景

    Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言(以下简称 Java 语言)和 Java 平台的总称。Java 语言是一种面向对象的编程语言。虽然 Java 仅仅只产生了短短 20 年,但是它的发展是非常迅速的。在 2009 年 4 月 20 号,ORACLE 收购了 Sun 公司,也就是说 Java 这门语言现在归属于 ORACLE 这家公司门下。

    • JVM 叫 Java 虚拟机,它也是整个 Java 技术的核心。Java 语言的跨平台就多亏了 JVM。(你可以理解成 微信小程序 )

    • JDK 叫 Java 开发工具包,没有 JDK 就没有办法进行 Java 程序的开发。

    • JRE 叫 Java 运行环境,如果我们需要运行一个 Java 程序,就得安装 JRE。

    • JDK、JRE 和 JVM 之间的关系

    public class HelloWorld{
        public static void  main(String[] args){
            System.out.println("HelloWorld!");
        }
    }
    
    

    变量

    变量可以指在计算机存储器里存在值的被命名的存储空间。

    变量通常是 可被修改的 ,即可以用来表示可变的状态。这是 Java 的基本概念之一。

    程序通过改变变量的值来改变整个程序的状态。为了方便使用变量,所以变量都需要命名,叫做变量名。

    在 Java 中,变量需要先声明 (declare)才能使用。在声明中,说明变量的类型,赋予变量以特别名字,以便在后面的程序中调用它。你可以在程序中的任意位置声明变量,语法格式如下:

    数据类型 变量名称;

    int a = 1;

    常量

    常量代表程序运行过程中不能改变的值。我们也可以把它们理解为特殊的变量,只是它们在程序的运行过程中是不允许改变的。常量的值是不能被修改的

    Java 中的 final 关键字可以用于声明属性(常量),方法和类。当 final 修饰属性时,代表该属性 一旦被分配内存空间就必须初始化,它的含义是“这是无法改变的”或者“终态的” 。在变量前面添加关键字 final 即可声明一个常量。在 Java 编码规范中,建议常量名必须大写

    final 数据类型 常量名 = 值;

    final double PI = 3.14;

    常量也可以先声明,再进行赋值,但只能赋值一次 ,比如:

    final int FINAL_VARIABLE;
    FINAL_VARIABLE = 100;
    

    数据类型

    • 整数
      byte、short、int、long 四种基本数据类型表示整数,需要注意的是 long 类型,使用 long 修饰的变量需要在数值后面加上 L 或者 l,比如 long num = 1L;一般使用大写 L,为了避免小写 l 与数值 1 混淆。

    • 浮点数
      floatdouble 类型表示浮点数,即可以表示小数部分。需要注意的是 float 类型的数值后面需要加上 F 或者 f,否则会被当成 double 类型处理。 double 类型的数值可以加上 D 或 d ,也可以不加。

    • char 类型
      char 类型用于表示单个字符。需要将字符用单引号括起来char a = 'a',char 可以和整数互相转换,如果字符 a 也可以写成char a = 97。也可以用十六进制表示char a = 'u0061'。

    • boolean 类型
      boolean 类型(布尔类型)用于表示真值 true或者假值 false,Java 中布尔值不能和整数类型或者其它类型互相转换

    String

    Java 中使用String 类来定义一个字符串,字符串是常量 ,它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。

    • 长度

    str.length()

    • 比较

    str1.equals(str2)
    或者

    str1.equalsIgnoreCase(str2)

    而使用"=="比较的是两个对象在内存中存储的地址是否一样

             String s1 = "abc";
             String s2 = new String("abc");
             boolean b = (s1 == s2);
    

    则变量 b 的值是 false,因为 s1 对象对应的地址是 "abc" 的地址,而 s2 使用 new 关键字申请新的内存,所以内存地址和 s1 "abc" 的地址不一样,所以获得的值是 false。

    • 连接

    字符串连接有两种方法:

    1. 使用 +,比如 String s = "Hello " + "World!"
    2. 使用 String 类的 concat() 方法。
    
    String s0 = new String("Hello ");
    String s1 = "World" + "!";   //+号连接
    String s2 = s0.concat(s1); //concat()方法连接
    System.out.println(s2);
    
    
    • 索引

    charAt() 方法的作用是按照索引值(规定字符串中第一个字符的索引值是 0,第二个字符的索引值是 1,依次类推),获得字符串中的指定字符

    String s = "abc";
    char c = s.charAt(1);
    
    

    则变量 c 的值是 'b'。

    运算符号

    • 前缀自增自减法 (++i,--i): 先进行自增或者自减运算,再进行表达式运算。
    • 后缀自增自减法 (i++,i--): 先进行表达式运算,再进行自增或者自减运算

    位运算符

    逻辑运算符

    && ||是具有 短路性质 ,当按优先级顺序计算到当前表达式时,表达式的结果可以确定整个表达式的结果时,便不会继续向后进行判断和计算,而直接返回结果。

    关系运算符

    • 三目运算符

    布尔表达式 ?表达式 1 : 表达式 2;

    运算过程:如果布尔表达式的值为 true,则返回表达式 1的值,否则返回表达式 2的值。

    • == != 适用于所有的基本数据类型,其他关系运算符不适用于 boolean,因为 boolean 值只有 true 和 false,比较没有任何意义。
    • ==!= 也适用于所有对象,可以比较对象的引用是否相同。

    引用:Java 中一切都是对象,但操作的标识符实际是对象的一个引用。

    优先级

    Scanner in =new Scanner(System.in);
    //获取int值
    int x1=in.nextInt();
    int x2=in.nextInt();
    
    

    关键字

    关键字不能用作变量名、方法名、类名、包名。

    方法(函数)

    访问修饰符 返回值类型 方法名(参数列表) {
        方法体
    }
    
    
    
    
    public void functionName(Object arg) {
            System.out.println("Hello World.");
    }
    
    
    
    • 访问修饰符:代表方法允许被访问的权限范围, 可以是 public、protected、private 或者省略(default) ,其中 public 表示该方法可以被其他任何代码调用。

    • 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void (代表无类型);如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值。

    • 方法名:是方法的名字,必须使用合法的标识符。

    • 参数列表:是传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。

    • 方法体:方法体包含具体的语句,定义该方法的功能。

    当方法定义好之后,需要调用才可以生效,我们可以通过 main 方法(main 方法是 Java 程序的入口,所以需要用它来调用)来调用它,比如:

    public class MethodDemo {
        public static void main(String[] args){
            method();
        }
        //这里要加上static关键字 应为静态方法只能调用静态方法
        public static void method(){
            System.out.println("方法被调用");
        }
    }
    
    
  • 相关阅读:
    HTTP协议
    UI- 不易记知识点汇总
    UI- 五种手势识别总结
    idea整合 springboot jsp mybatis
    xml和map互转工具类
    ajax请求案例
    java加密工具类,可设置对应的加解密key
    ajax请求正常,返回json格式,后台没问题,浏览器500
    通过工具SecureCRTPortable将项目部署到服务器上
    修改idea自动生成在C盘的文件路径,以免电脑越用越卡
  • 原文地址:https://www.cnblogs.com/hiszm/p/13746797.html
Copyright © 2020-2023  润新知