JAVA-Day01-20230103

目录

JDK、JRE、JVM三者之间的关系

 JAVA的特点

第一个JAVA程序

JAVA的关键字

JAVA标识符

JAVA的变量

变量练习

布尔型变量练习

字符型变量练习

浮点型变量练习

引用类型变量练习

位运算练习(位运算是按位进行的,要与逻辑关系运算区别)

移位运算练习

整数运算练习

类型转换练习

浮点型相关运算

逻辑运算练习

练习(计算[(1+N)*N]/2的值)


JDK、JRE、JVM三者之间的关系

 JAVA的特点

  1. 面向对象的编程语言;
  2. 具有健壮性:强类型机制、异常处理、自动收集垃圾;
  3. 跨平台支持:一个编译好的.class文件可以在多个系统下运行;
  4. 是一种解释性语言。

第一个JAVA程序

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
  • class表明在此处定义了一个类,类名为Hello。
  • public为访问修饰符。
  • public static void main(String[] args)是JAVA的入口部分,其参数部分也可以写成String args[]。
  • JAVA总是从main方法开始执行的。

JAVA的关键字

  • 定义:在java中,被java语言赋予特殊含义,用作专门用途的字符串。
  • 特点:关键字中所有字母都是小写的。

关键字类型
用于定义字符类型
classinterface
byteshort
longfloat
charboolean
用于定义流程控制
ifelse
casedefault
dofor
continuereturn
用于定义访问权限修饰符的关键字
publicprivate
protected
用于定义类与类之间关系的关键字
extendsimplements
用于定义类、函数、变量修饰符的关键字
abstractfinal
staticsynchronize
用于定义创建实例以及引用实例、判断实例的关键字
newthis
superinstanceof
用于处理异常的关键字
trycatch
finallythrow
throws
用于包的关键字
packgeimport
其他的修饰关键字
nativestrictfp
transientvolatile
用于定义数据类型值的关键字
truefalse
null

JAVA标识符

  • 标识符由字母、$、_、数字组成,但是不能以数字开头。
  • 关键字不能作为变量名和方法名,只有标识符可以作为变量名和方法名。
  • 标识符需要严格区分大小写,java对大小写敏感。
  • 标识符的长度无限制。
  • 可以使用中文作为标识符。

JAVA的变量

  • 基本数据类型变量
基本数据类型变量所占用的空间
byte1B
short2B
int4B
long8B
float4B
double8B
char2B
  • 引用类型变量

变量练习

package 数据类型;

public class Variable {
    static int all = 0;//类变量
    String str = "Hello World";//实例变量

    public void method() {
        int i = 0;//局部变量
        System.out.println(i);
    }

    public static void main(String[] args) {
        int x = 100;//变量赋值
        System.out.println(x);
        x = 200;//变量重新赋值
        System.out.println(x);
        int n = 230;//变量赋值
        System.out.println(n);
        x = n;//变量重新赋值
        System.out.println(x);
        x++;
        System.out.println(x);
    }
}

布尔型变量练习

package 数据类型;

public class BooleanNumber {
    public static void main(String[] args)
    {
        int age=19;
        boolean result=false;
        if(age>=18)
        {
            result=true;
        }
        System.out.println(result);
    }
}

字符型变量练习

package 数据类型;

public class CharNumber {
    public static void main(String[] args)
    {
        char    numbers='1';
        char    numbers2='中';
        System.out.println(numbers);
        System.out.println(numbers2);
    }
}

浮点型变量练习

package 数据类型;

public class DoubleNumber {
    public static void main(String[] args) {
        float f1 = 3.14f;
        float f2 = 3.14e12f;
        double d1 = 3.14e100d;
        double d2 = 3.14e-100d;
        double d3 = -3.14e100d;
        System.out.println(f1);
        System.out.println(f2);
        System.out.println(d1);
        System.out.println(d2);
        System.out.println(d3);
    }
}

引用类型变量练习

package 数据类型;

public class StringNumber {
    public static void main(String[] args)
    {
        String  s1="hello world";
        System.out.println(s1);
        final double    PI  = 3.14;//常量
        double  r=100;
        double  area=PI*r*r;
        System.out.println(area);
    }
}

位运算练习(位运算是按位进行的,要与逻辑关系运算区别)

package 整数运算;

public class BitNumber {
    public static void main(String[] args) {
        //与运算
        System.out.println(1 & 1);
        System.out.println(1 & 2);
        System.out.println(1 & 3);
        System.out.println(1 & 0);
        //换行
        System.out.println("\n");
        //或运算
        System.out.println(1 | 1);
        System.out.println(1 | 2);
        System.out.println(1 | 3);
        System.out.println(1 | 0);
        //换行
        System.out.println("\n");
        //异或运算
        System.out.println(1 ^ 1);
        System.out.println(1 ^ 2);
        System.out.println(1 ^ 0);
        //换行
        System.out.println("\n");
        //非运算
        System.out.println(~1);
        System.out.println(~2);
        System.out.println(~0);
    }
}

移位运算练习

package 整数运算;

public class ShiftNumber {
    //main
    public static void main(String[] args) {
        int n=7;
        System.out.println(n>>3);
        System.out.println(n<<3);

    }
}

整数运算练习

package 整数运算;

import java.util.Scanner;

public class IntNumber {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        System.out.println(n);
        Scanner sc2 = new Scanner(System.in);
        int n2 = sc2.nextInt();
        System.out.println(n2);
        int n3 = n + n2;
        int n4=n*n2;
        int n5=n/n2;
        int n6=n%n2;
        int n7=n-n2;
        System.out.println(n3);
        System.out.println(n4);
        System.out.println(n5);
        System.out.println(n6);
        System.out.println(n7);

    }

}

类型转换练习

package 整数运算;

public class 类型提升 {
    public static void main(String[] args) {
        short s=1234;
        int i=10000000;
        System.out.println(s+i);//s+i自动转换为int类型
        short x=(short)(s+i);//强制类型转换,但是可能得到错误的结果
        System.out.println(x);
    }
}

浮点型相关运算

package 浮点数运算;
//浮点数不能进行位运算和移位运算,因为不能精确表示,会产生误差
public class FloatNumber {
    public static void main(String[] args)
    {
        //误差问题,x和y理论上是相等的,但是在计算中存在误差,因此两数是不相等的
        double  x=1.0/10;
        double  y=1-9.0/10;
        System.out.println(x);
        System.out.println(y);
        //定义误差
        double  r=Math.abs(x-y);
        if (r<0.0001)
            System.out.println("相等");

        //类型提升
        int n=5;
        double  d=1.2+24.0/n;//此处的n(整型)会自动提升至浮点型
        System.out.println(d);

        //浮点数的溢出问题
        double  d1=0.0/0;//NaN
        double d2=1.0/0;//Inf
        double d3=-1.0/0;//-Inf
        System.out.println(d1);
        System.out.println(d2);
        System.out.println(d3);

        //浮点数强制转换为整型时是直接舍弃小数部分,如果要四舍五入,则需要先+0.5再进行强制类型转换

    }
}

逻辑运算练习

package 布尔型运算;

public class BooleanNumber {
    public static void main(String[] args) {
        boolean a = true;
        boolean b = false;
        System.out.println(a == b);
        System.out.println(a != b);
        System.out.println(a && b);//逻辑与运算
        System.out.println(a || b);//逻辑或运算
        System.out.println(!a);
        System.out.println(!b);
        //对于逻辑或,在一个表达式中,只要出现1 || parta,parta部分不变,表达式的值永远为真
        //对于逻辑与,在一个表达式中,只要出现0 && parta,parta部分不变,表达式的值永远为假
    }
}

练习(计算[(1+N)*N]/2的值)

import java.util.Scanner;

public class 练习1 {
    public static void main(String[] args) {
        //计算[(1+N)*N]/2的值
        //输入一个数n
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        //计算
        long result;
        result = (1 + n) * n / 2;
        //输出
        System.out.println(result);
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值