文章目录
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);
}
}