2.Java的基本概念
2.1 包
包的作用是用于分类:Java中的包把不同功能模块的class文件组织起来,便于管理,使用package关键字定义类所属的包。
package p1; public class First{...}
必须是Java文件中的第一行代码,写在代码的最前端。
在运行时要保证每个class文件都处于正确的包中,解释运行命令后要使用类的完全限定名如:
java p1.First
完全限定名=包名.类名
那么java.p1.First命令做了那些事呢?
(1)启动Java虚拟机
(2)到环境变量CLASSPATH中找到p1文件夹
(3)在p1文件夹中找到First.class文件
(4)验证First类是否属于p1包
(5)解释运行
在包中还可以包含子包如:
package p1.p2.p3.p4.p5; public class First{...}
编译后的First.class应该被放在p5文件夹下
编译时使用-d参数可以自动把编译后的class文件放到正确的位置上:
javac –d.First.java
执行时同样要使用类的完全限定名:
java p1.p2.p3.p4.p5.First
在实际开发时,每个类都要有包
引入包前:
java.util.Date d1; java.util.Date d2; java.util.Date d3; java.util.Date d4; java.util.Date d4;
引入包后:
import java.util.Date; Date d1; Date d2; Date d3; Date d4; Date d5;
包的引入:
一个类使用其他包中的类时,需要使用完全限定名,也可以使用import语句引入一个类或者一个包中的所有类,这样就可以直接使用类名代替完全限定名
import 完全限定名;
import 包名.*;
java.lang包是Java的核心包,编译器会自动引入,像String,System等类都是在lang包中。
Java文件的基本结构:
package 包,必须是代码的第一行
import 引入包,可以引入很多个
class 类,可以写多个,但是公开类最多写一个
2.2 注释:
注释是代码的描述,是用来写给程序员看的,注释可以用来提高代码的可读性,是判断代码好坏的重要标准。
注释的分类和写法:
单行注释 | 单行内有效 | 从//开始到换行结束 |
多行注释 | 可以写多行 | 从/*开始到*/结束 |
文档注释 | 可以写多行 | 从/**开始到*/结束 |
Javadoc工具可以抽取java文件中的文档注释,可以在不暴露源码的情况下让别人看到注释中的文本;使用方法为:javadoc –d doc FIrst.java
2.3 标识符:
给程序中的某个部分起的名字,例如:包名,类名,函数名,常量名,变量名
语法要求:
(1)由字母,数字,$,_组成,数字不能开头
(2)大小写敏感
(3)不能使用java关键字和保留字
尽可能望文生义
命名习惯:
(1)包名:全小写
(2)类名:所有单词首字母大写
(3)变量名和函数名:首单词小写,其他单词首字母大写
(4)常量名:全大写
2.4 变量:
一个变量就代表内存中的一块空间,用来储存数据,变量就是容纳数据的容器
在java中变量必须先定义后使用,定义变量就是在开辟一块内存空间
定义变量:变量类型 变量名;如int a;就是定义了一个整形变量a
使用变量的操作分别为赋值和取值,赋值是向这块内存空间中保存数据,取值是从这块内存空间中取出数据
int a = 10;//定义变量赋值 System.out.println(a);//取值
Java是强类型语言,也就是说Java的数据类型和保存数据的变量的类型必须一致。
局部变量:在函数中定义的变量都是局部变量。
局部变量的特点:
必须先赋值,后使用,作用范围是从定义开始到所在的语句块结束,在重合的作用范围内不能有重名的局部变量
2.5 数据类型
Java中的变量按照其数据类型可以分为两大类:
(1)基本类型:简单类型 原始类型
(2)引用类型:对象类型
其中基本类型分为:整形(byte,short,int,long),浮点型(float,double),字符型(char),布尔型(boolean)。
字符串类型:java.lang.String
(1)引用类型比较特殊
(2)引用类型中为数不多哦的有字面值的类型
(3)使用双引号表示的一串字符,可以包含转义符
(4)可以进行加法运算,字符串拼接
哥德巴赫猜想:任何一个大于4的偶数都能被拆成两个质数的和
import java.util.Scanner; public class Java_day01_01 { public static void Gdbhcx(int num) { int num1=0,num2=0; int a=0,b=0; if(num<4){ return; } for(int i = 2;i<=num;i++) { if (i % 2 == 0) { continue; } num1 = num - i; num2 = i; a = isPrime(num1); b = isPrime(num2); if (a+b==0){ System.out.println(num1); System.out.println(num2); return; } } } public static int isPrime(int n){ int m = 0,a=0,b=0; for (int i = 2; i < n ; i++) { if(n % i==0) m++; } if (m == 0) a=0; else a++; return a; } public static void main (String[] args){ System.out.println("请输入一个大于4的偶数:"); Scanner sc = new Scanner(System.in); int i = sc.nextInt(); Gdbhcx(i); } }