文章目录

  • 例子:
  • 命令提示符流程
  • package + 文件的项目名(包名)
  • import + 文件的类名
  • public static void main(String[] args)
  • 定义类:(public) class + 类名()
  • 构造方法:(public) + 名字()
  • ?????????static class +
  • System.out.println(xxx);
  • Random随机数
  • Scanner输入
  • while注意


例子:

java class类型做形参_java

命令提示符流程
  1. 编写:命名.java文本文件(注意类名和文件名是否需要一致)
  2. 编译:输入 javac 文件名.java,编译成功后产生.class文件
  3. 运行:输入 java 文件名(不需要加.class)
  4. 运行有参数的类,加上参数
package + 文件的项目名(包名)

一定是文件的项目名

java class类型做形参_java class类型做形参_02

import + 文件的类名

java包,类

import java.util.Scanner;
import java.util.*;
  1. 有啥区别?
    实际开发中都采用“importjava.util.Scanner;”这种用法,因为:命名空间冲突(唯一缺点)
  2. 导入util.*会占更多的内存吗?
    imports声明是不会占用内存的,编译时解析类名

不一定是文件的类名

  1. 什么文件?——.java文件

    也是上面eclipse绿笔标注的
  2. 有public一定用文件的类名,只能有一个public class + 类名,main函数在public class
  3. 没有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++也有

java class类型做形参_java_03

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) + 名字()

构造函数,实例化对象(定义一个对象)的同时赋初值

java class类型做形参_System_04

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);

类,对象,成员函数

  1. System是一个类,继承自根类Object
  2. out是类PrintStream类实例化的一个对象,且是System类的静态成员变量
  3. 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();

  1. 原因:
    内存浪费,至少在方法结束前close
  2. 必须的吗?
    如果只是写个小程序,不用也行。
    如果要考虑内存问题的时候,就要用了,不然它占用的内存不会释放。
while注意

只能用while (true)