文章目录
- 例子:
- 命令提示符流程
- package + 文件的项目名(包名)
- import + 文件的类名
- public static void main(String[] args)
- 定义类:(public) class + 类名()
- 构造方法:(public) + 名字()
- ?????????static class +
- System.out.println(xxx);
- Random随机数
- Scanner输入
- while注意
例子:
命令提示符流程
- 编写:命名.java文本文件(注意类名和文件名是否需要一致)
- 编译:输入
javac 文件名.java
,编译成功后产生.class文件 - 运行:输入
java 文件名
(不需要加.class) - 运行有参数的类,加上参数
package + 文件的项目名(包名)
一定是文件的项目名
import + 文件的类名
java包,类
import java.util.Scanner;
import java.util.*;
- 有啥区别?
实际开发中都采用“importjava.util.Scanner;”这种用法,因为:命名空间冲突(唯一缺点) - 导入util.*会占更多的内存吗?
imports声明是不会占用内存的,编译时解析类名
不一定是文件的类名
- 什么文件?——.java文件
也是上面eclipse绿笔标注的 - 有public一定用文件的类名,只能有一个
public class + 类名
,main函数在public class
里 - 没有public不需要文件的类名,可以有多个
class + 类名
,main函数随便
public static void main(String[] args)
相当于C++的 int main()
JAVA:public static void main(String args[]) 详解
注意:有return
定义类:(public) class + 类名()
类的定义,class + 类名
默认是public,用new
定义对象,注意括号,C++也有
package sy_test;
// public类里定义入口
public class 类的定义 {
public static void main (String[] args) { // 入口
Student s = new Student();
s.name = "张三";
s.age = 18;
s.myoutput();
}
}
//定义类
class Student { // 默认public
String name; // C++是小写string
int age;
void myoutput() {
System.out.print("我是"+name+",今年"+age+"岁。");
}
}
//void Student::myoutput(),不可以写在类外
构造方法:(public) + 名字()
构造函数,实例化对象(定义一个对象)的同时赋初值
package sy_test;
public class 构造方法 {
public static void mian (String[] args) {
Student2 s = new Student2(18);
s.name = "张三";
s.myputout2();
}
}
// 类
class Student2 {
String name;
int age;
Student2(int a) { // 不要用初始化表了
age = a;
}
void myputout2() {
System.out.print("我是"+name+",今年"+age+"岁。");
}
}
定义类里的成员函数和定义构造函数都可以加上public
?????????static class +
System.out.println(xxx);
类,对象,成员函数
- System是一个类,继承自根类Object
- out是类PrintStream类实例化的一个对象,且是System类的静态成员变量
- println()是类PrintStream的成员函数,被对象out调用
System.out.println=System.out.print+System.out.print("/n"),也就是加了一换行
Random随机数
import java.util.Random;
,(java包,类)Random ran = new Random;
(定义一个对象)int num = ran.nextInt(100)+1;
(调用类的方法nextInt,max加1)
Scanner输入
import java.util.Scanner;
Scanner scan = new Scanner(System.in);
(类的构造方法传入参数确定功能)int num = scan.nextInt();
关闭Scanner:scan.close();
- 原因:
内存浪费,至少在方法结束前close - 必须的吗?
如果只是写个小程序,不用也行。
如果要考虑内存问题的时候,就要用了,不然它占用的内存不会释放。
while注意
只能用while (true)