基础语法(上)1---Java 概述及版本、变量、常量、数据类型介绍以及用法

Java 概述及版本

Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言(以下简称 Java 语言)和 Java 平台的总称。Java 语言是一种面向对象的编程语言。虽然 Java 仅仅只产生了短短 20 年,但是它的发展是非常迅速的。在 2009 年 4 月 20 号,ORACLE 收购了 Sun 公司,也就是说 Java 这门语言现在归属于 ORACLE 这家公司门下。
在这里插入图片描述在 Java 这门语言体系当中,最基础的部分就是 Java SE 部分,Java 的标准版本。它包括 Java 最基础的一些结构,包括面向对象的一些特性等等,同时它也是 Java 技术基础和核心。在 Java SE 的基础之上,又分为了 Java EE(Java 的企业版),应用于大型企业级应用的开发。Java ME 主要用于嵌入式开发。初学的时候我们都是从 Java SE 开始的。
在这里插入图片描述JVM 叫 Java 虚拟机,它也是整个 Java 技术的核心。Java 语言的跨平台就多亏了 JVM。

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

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

JDK、JRE 和 JVM 之间的关系:
在这里插入图片描述

变量

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

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

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

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

数据类型 变量名称;
例如:

int a = 1;

在该语法格式中,数据类型可以是 Java 语言中任意的类型,如int。变量名称是该变量的标识符,需要符合标识符的命名规则,数据类型和变量名称之间使用空格进行间隔,使用;作为结束。

常量

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

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

语法格式:

final 数据类型 常量名 = 值;

例如:

final double PI = 3.14;

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

final int FINAL_VARIABLE; ​ FINAL_VARIABLE = 100;

数据类型

Java 中一共八种基本数据类型,下表列出了基本数据类型的数据范围、存储格式、默认值、包装类型等。
在这里插入图片描述

整数

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

浮点数

float 和 double 类型表示浮点数,即可以表示小数部分。需要注意的是 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 类来定义一个字符串,字符串是常量,它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。

String 对象的初始化格式有如下两种:

String s0 = "abc";

String s1 = new String("abd");

String 类具有丰富的方法,比如计算字符串的长度、连接字符串、比较字符串、提取字符串等等。

计算字符串长度

length()方法

//方法原型
public int length(){
}

调用方法:字符串标识符.length();
返回一个 int 类型的整数(字符串中字符数,中文字符也是一个字符)。例如:

String s1 = "abc";
String s2 = "Java语言";
int len1 = s1.length(); // 3
int len2 = s2.length(); // 6

字符串比较

equals() 方法,该方法的作用是判断两个字符串对象的内容是否相同。如果相同则返回 true,否则返回 false。

equals() 方法比较是从第一字符开始,一个字符一个字符依次比较。
在这里插入图片描述
如果想忽略掉大小写关系,比如:java 和 Java 是一样的,那怎么办呢?可以调用equalsIgnoreCase()方法,其用法与 equals 一致,不过它会忽视大小写。

比如:

public class StringTest {
    public static void main(String[] args){
        String s = new String("Java");
        String m = "java";
        System.out.println("用equals()比较,java和Java结果为"+s.equals(m));
        System.out.println("用equalsIgnoreCase()比较,java和Java结果为"+s.equalsIgnoreCase(m));
    }
}

运行结果如下:
在这里插入图片描述
而使用"=="比较的是两个对象在内存中存储的地址是否一样。例如:

   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()方法

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

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

则变量 c 的值是’b’。

字符串常用提取方法
在这里插入图片描述说明:在字符串中,第一个字符的索引为 0,子字符串包含 beginindex 的字符,但不包含 endindex 的字符。

public class StringTest {
    public static void main(String[] args) {
         String s = "abcdefabc";
         System.out.println("字符a第一次出现的位置为"+s.indexOf('a'));
         System.out.println("字符串bc第一次出现的位置为"+s.indexOf("bc"));
         System.out.println("字符a最后一次出现的位置为"+s.lastIndexOf('a'));
         System.out.println("从位置3开始到结束的字符串"+s.substring(3));
         System.out.println("从位置3开始到6之间的字符串"+s.substring(3,6));
    }
}

运行结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值