JAVA SE 基础阶段 Day01

目录

jdk,jre,jvm概念

配置环境变量

标识符

数据类型

常量 

变量

变量类型转换

自动类型转换 (小--->大)

强制类型转换 (大--->小)

运算符

运算符++、­­的使用(自增自减运算符)

赋值运算符

比较运算符

逻辑运算符

短路逻辑运算符

Scanner类


jdk,jre,jvm概念

jdk  :  是JAVA语言的软件开发工具包;是整个JAVA的核心;包含了JAVA的运行环境jre (JVM+JAVA系统类库)   和  JAVA工具。

jre  :  java runtime environment  (java运行时环境)  , 所有的java程序都要在jre下才能运行  , 包括JVMJAVA核心类库和支持文  件。与JDK相比,它不包含开发工具、编译器、调试器和其它工具。

JVM Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,JVM有自己完善的硬件架构,比如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM的主要工作是解释自己的指令集(即字节码)并映射到本地的CPU的指令集或 OS 的系统调用,同时Java语言是跨平台运行(由于不同的平台都有不同的虚拟机JVM)

JDK目录介绍  (了解)

  • jdkjdk根目录,包含版权、许可及README文件以及Java核心平台API的源文件归档(src.zip
  • bin:存放可执行文件目录,里面包含有javac.exeJava编译器)、java.exeJava运行工具)等。
  • db:该目录是个小型数据库目录,JDK6开始引入
  • jreJava运行时环境的根目录,除了文档外,它与可部署的JRE完全相同
  • lib:开发工具使用的类库目录,主要包括tools.jardt.jar
  • includec的头文件,用与支持native­code库使用jvm Debugger接口。
  • src.zipJDK核心类源码

类是JAVA最基本的单位

格式: public class 类名{}  

示例如下:

public class Demo {

}

  • 配置了环境变量,那么直接在doc执行命令,没有配置环境变量,需要将类文件拷贝到JDK安装目/bin/里面
  • 呼出运行窗口:win + r
  • cd:进入xxx目录  cd xxxx
  • 如果直接在代码目录下输入javac会提示`'javac' 不是内部或外部命令,也不是可运行的程序 或批处理文件。`
  • "C:\Program Files\Java\jdk1.7.0_79\bin\javac.exe" Demo.java

第一段:使用双引号是因为路径有空格,会根据路径找到javac.exe执行文件

第二段:源文件

  • 编译使用:javac 文件路径
  • 运行使用:java 类路径
public class Demo {
public static void main(String[] args) {
   System.out.println("你好 Java");
} 
}

配置环境变量

配置步骤:

鼠标右键点击计算机  →  属性  →  高级系统设置  →  点击环境变量  →  找到系统变量中的PATH  →  点击 编辑 按钮

如图所示

 

 

jdk下载地址:http://www.oracle.com/technetwork/java/index.html  

jdk版本自己选择下载

新建JAVA_HOME:

名为:JAVA_HOME

值为:C:\Program Files\Java\JDK\jdk1.8.0_72

编辑PATH:

(两个变量之间用英文分号隔开):%JAVA_HOME%\bin;

注释的介绍

单行注释:用于方法里面(main方法)

// 注释一行

多行注释:用于方法里面(main方法)

/* 被注释的内容  */

文档注释:用于classmain方法之前

/**  被注释的内容  */

标识符

标识符就是名称的意思,所有的名称都统称为标识符。Java中经常要定义类、方法、变量(后面会学习到),在 定义他们时总要给它们起名字,这些名字就是标识符。 

标识符组成:

1.数字,字母和下划线(_),美元符号($)或人民币符号(¥)组成。

2.区分大小写的,而且还要求首位不能是数字,Java关键字不能当作Java标识符

标识符详解(百度百科):https://baike.baidu.com/item/java%E5%85%B3%E9%94%AE%E5%AD%97/5808816

案例演示 :

int day1 = 0; 此句代码是定义了一个int类型的变量(后面会讲到变量的定义)

class Demo {
    public static void main(String[] args) {
        
        int 1day = 0;//错误,不能数字开头
       
        int day1 = 0; //正确
        
        int public = 0;//错误
       
        int Public = 0; //正确(区分大小写),但是不建议使用此类型的名字
   }    
}

关键字:有特别意义的标识符,有时又叫保留字。 

数据类型

常量 

在程序中存在大量的数据来代表程序的状态,其中有些数据在程序运行过程中值不能发生改变,这些数据在程序

中被叫做常量。

class Demo2 {
    public static void main(String[] args) {
       
        System.out.println(100); // 输出整数常量
       
        System.out.println(6.5F); // 输出浮点常量
    }    
}

变量

在程序运行过程中,会产生一些临时数据,应用程序会将这些临时数据存储到内存单元中,每个内存单元都用一 个标示符来表示,此时内存单元被称为变量标识符被称为变量名,变量是一种存储数据的载体,变量的数值可以被读取和修改。

Java 是强类型的编程语言,它对变量的数据类型有严格的限定,在定义变量时必须声明变量的类型(八种)

变量及变量的格式:数据类型 标识符 = 数值或表达式;

演示 :

class Demo3 {
    public static void main(String[] args) {
    
        int a, b, c;         // 声明三个int型整数:a、 b、c
        int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值
        byte g = 22;         // 声明并初始化 g
        double pi = 3.14159; // 声明了双精度浮点型变量 pi
        char x = 'x';        // 声明变量 x 的值是字符 'x'。
        String s = "张三";  // 声明并初始化字符串 s
    
        byte age = 88;
        System.out.println(age);
        
        short money1 = 10000;
        System.out.println(money);
        
        int money2 = 10000000;
        System.out.println(money2);
        
        // 在使用long类型时,末尾需要加字母L,建议大写
        long money3 = 100000000000000L;
        System.out.println(money3);
        
        float money4 = 6.5F;
        System.out.println(money4);
        
        double money5 = 1999999.001;
        System.out.println(money5);
}    
}

注意:

  • 变量使用是必须赋初始值,不赋值不能使用
  • 变量名不能重复
class Demo5 {
    public static void main(String[] args) {
        int a ;//错误,变量要赋值才能使用

        System.out.println(a);
        boolean x = true;
        System.out.println(x);
        // 一行可以定义多个变量,但不建议
        // int c1 = 5; int c2 = 10;
        int c1 = 5;
        int c2 = 10;
}    
}

变量类型转换

把一种数据类型的值赋给另一种数据类型的变量时,就需要进行数据类型转换。

数据类型转换分两种 :

1.自动类型转换

2.强制类型转换

数据类型按照数据范围从小到大依次为: byte ­> short ­> int ­> long ­> float ­> double

自动类型转换 (小--->大)

范围小的数据类型转换成范围大的数据类型,这种方式称为自动类型转换 (也叫隐式数据类型转换)

语法格式:范围大的数据类型 变量 = 范围小的数据类型值;

public class Type3 {
    public static void main(String[] args) {
        //小 到 大
        byte a = 3;
        int b = a;
        System.out.println(b);
}    
}

强制类型转换 (大--->小)

范围大的数据类型转换成范围小的数据类型,这种方式称为强制类型转换 (也叫显式数据类型转换)

语法格式:范围小的数据类型  变量 = (范围小的数据类型) 范围大的数据类型值;

public class Type3 {
    public static void main(String[] args) {
        //大 到 小
        long c = 100;
        int d = (int)c;
        System.out.println(d);
}    
}

强制类型转换会导致精度丢失

 b变量值超过了byte最大可表示范围(8位(1个字节))

 int类型内存中占用4个字节

byte a;

int b = 298;

a = (byte)b;

System.out.println("b=" + b);

System.out.println("a = " + a);

运算符

是用来计算数据的符号。数据可以是常量,也可以是变量。被运算符操作的数我们称为操作数。

public class Demo7 {
  public static void main(String[] args) {
     int a = 10;
     int b = 20;
     int c = 25;
     int d = 25;
     System.out.println("a + b = " + (a + b) );
     System.out.println("a ‐ b = " + (a ‐ b) );
     System.out.println("a * b = " + (a * b) );
     System.out.println("b / a = " + (b / a) );
     System.out.println("b % a = " + (b % a) );
     System.out.println("c % a = " + (c % a) );
  }
}

运算符++­­的使用(自增自减运算符)

++运算符,会在原有值的基础上自增1

­­运算符,会在原有值的基础上自减1

后缀自增自减法

(a++,a­­): 先进行表达式运算,再进行自增或者自减运算(先和别人算,再算自己

情况一:单独使用,不参与运算

int a = 3;
int b = 3;
a++;
b‐‐;
System.out.println(a);
System.out.println(b);
// 结果a值为4,b值为2;

情况二:不单独使用,参与运算

int a = 3;
int b;
b = a++ + 10;
System.out.println(a);
System.out.println(b);
// 结果a值为4,b值为13

前缀自增自减法

(++a,­­a): 先进行自增或者自减运算,再进行表达式运算(先算自己,再和别人算

情况一:单独使用,不参与运算,结果和a­­、b­­是一样的

int a = 3;
int b = 3;
++a;
‐‐b;
System.out.println(a);
System.out.println(b);
// 结果a值为4,b值为2;

情况二:不单独使用,参与运算

int a = 3;
int b;
b = ++a + 10;
System.out.println(a);
System.out.println(b);
// 结果a值为4,b值为14

赋值运算符

赋值运算符就是为变量赋值的符号 ,赋值运算符左边必须是变量

 += ‐= *= /= %=  

比较运算符

又叫关系运算符,它是用来判断两个操作数的大小关系以及是否相等关系的,结果是布尔值 (truefalse

public class Demo {
  public static void main(String[] args) {
     int a = 10;
     int b = 20;
     System.out.println("a == b = " + (a == b) );
     System.out.println("a != b = " + (a != b) );
     System.out.println("a > b = " + (a > b) );
     System.out.println("a < b = " + (a < b) );
     System.out.println("b >= a = " + (b >= a) );
     System.out.println("b <= a = " + (b <= a) );
  }
}

逻辑运算符

public class Demo {
  public static void main(String[] args) {
     boolean a = true;
     boolean b = false;
     System.out.println("a && b = " + (a&&b));
     System.out.println("a || b = " + (a||b) );
     System.out.println("!(a && b) = " + !(a && b));
  }
}

短路逻辑运算符

&&与&的区别

相同:当运算符两边的操作都为true是,结果才true

不同:

不论左边为true或者false,右边的表达式都会进行运算

&& 当左边为false时,右边的表达式不会进行运算

 

||与|的区别

相同:两边操作任意一边为true,其结果为true

不同:

不论左边true或者false,右边的表达式都会进行计算

|| 当左边为true时,右边的表达式不会进行运算

Scanner类

通过 Scanner 类来获取用户的输入。

Scanner类是属于引用数据类型

引用数据类型的使用

和定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式。

格式:

数据类型 变量名 = new 数据类型();     其中new 关键字创建对象

每种引用数据类型都有其功能,我们可以调用该类型实例的功能。

变量名.方法名();:每个方法会完成特定的功能

Scanner类使用

Scanner类是引用数据类型的一种,我们可以使用该类来完成用户键盘录入,获取到录入的数据

Scanner使用步骤:

1.导包(写在类文件的最顶部):import java.util.Scanner;

2.创建对象实例:Scanner sc = new Scanner(System.in);

调用方法:

3.调用对应的方法:

int  i = sc.nextInt();用来接收控制台录入的数字

String s = sc.next();用来接收控制台录入的字符串

import java.util.Scanner;
public class Demo {
    public static void main(String[] args) {
        //创建Scanner引用类型的变量
        Scanner sc = new Scanner(System.in);
        //获取数字
        System.out.println("请输入一个数字n");
        int n = sc.nextInt();
        System.out.println("n的值为" + n);
        //获取字符串
        System.out.println("请输入一个字符串s");
        String s = sc.next();
        System.out.println("s的值为" + s);
}    
}

使用Scanner 类,录入两个整数数据,并对这两个数据求和,输出其结果

class Test2_Scanner {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in); //      创建键盘录入对象
        //键盘录入练习:键盘录入两个数据,并对这两个数据求和,输出其结果
        System.out.println("请输入第一个整数:");
        int x = sc.nextInt();                   //将键盘录入的数据存储在x中
        System.out.println("请输入第二个整数:");
        int y = sc.nextInt();                   //将键盘录入的数据存储在y中
        int sum = x + y;
        System.out.println(sum);
}    
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值