初识Java-基础分享小试牛刀

1.Java的语言特点

1.java 的字符类型采用的是 Unicode编码方案,每个 Unicode码占用2个字节,每个字节是8个比特位,所以每个Unicode码占16个比特位。
2.关于JDK, JRE, JVM三者的关系:

  • JDK是Java开发工具包 ,包括了Java运行环境JRE(Java Runtime
    Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。

  • JRE是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。

  • JVM是整个Java实现跨平台的最核心的部分,所有的Java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行

  • JDK中包含了JRE,JRE又包含JVM
    在这里插入图片描述
    3.Java程序经编译后会产生byte code(字节码)。
    4.Java程序编译使用命令javac 运行使用 java 命令

2.八种基本数据类型

在这里插入图片描述

包装类指的是,基本数据类型对应的类类型。因为基本数据类型无法进行对象化处理,所以就引入了包装类。

8种基本数据byte、short、int、long、 float、double、char、boolean。除了int对应的是Integer,char对应的是Character。其余都是首字母大写即可。

3.分支结构

给定一个数字,判断是否为素数。

  • 第一种方法:如果一个数字是素数,那么就只能整除1和自己本身
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);   //从键盘获取数据
        int n = scanner.nextInt();   //获取整型数据
        int i;
        for (i = 2;i < n;i++){
            if(n % i ==0){
                System.out.println(n+"不是素数:");
            }
            break;
        }
        if(i > n){
            System.out.println(n+"是素数");
        }
    }
}

  • 第2种方式,任何一个数字n,都可以写成 n = a*b的形式。那么必然会有一个数字是小于等于2/n的。
import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);   //从键盘获取数据
        int n = scanner.nextInt();   //获取整型数据
        int i;
        for (i = 2;i < n/2;i++){
            if(n % i ==0){
                System.out.println(n+"不是素数:");
            }
            break;
        }
        if(i > n/2){
            System.out.println(n+"是素数");
        }
    }
}

  • 第3种方式:任何一个数字n,都可以写成 n = a*b的形式。那么必然会有一个数字是小于等于根号n的。
import java.util.Scanner;

public class Test1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);   //从键盘获取数据
        int n = scanner.nextInt();   //获取整型数据
        int i;
        for (i = 2;i <= Math.sqrt(n);i++){
            if(n % i ==0){
                System.out.println(n+"不是素数:");
            }
            break;
        }
        if(i > Math.sqrt(n)){
            System.out.println(n+"是素数");
        }
    }
}

执行效率:方法三 > 方法二 > 方法一

打印 1 - 100 之间所有的素数

public class Test3 {
    public static void main(String[] args) {
        for (int j = 100; j<=200; j++){      //产生100~200之间的数字
            int i;
            for (i=2; i<=Math.sqrt(j); i++){    //判断  
                if(j % i == 0){
                    break;           //不是素数跳出循环
                }
            }
            if(i>Math.sqrt(j)){
                System.out.println(j+"是素数");
            }
        }
    }
}

输出 1000 - 2000年之间所有的闰年

不清楚闰年的定义请点击:闰年的定义

public static void main(String[] args) {
        for (int year = 1000; year < 2000 ; year++) {
            if(year %4 == 0 && year%100 != 0 || year %400==0) {
                System.out.println(year + " 是闰年!");
            }
        }
}

编写程序数一下 1到 100 的所有整数中出现多少个数字9

public class Test5 {
    public static void main(String[] args) {
        int count = 0;
        for (int i = 1; i <= 100; i++) {
            if(i % 10 == 9) {//判断个位的9
                count++;
            }
            if(i/10 == 9) {
                count++;//判断十位的9
            }
        }
        System.out.println(count);
    }
}

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北冥有鱼-.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值