美文网首页
DAY7Java语言入门基础教学1+约瑟夫环的Java实现

DAY7Java语言入门基础教学1+约瑟夫环的Java实现

作者: 辞cccc | 来源:发表于2019-08-05 19:48 被阅读0次

Java入门教学1

  • 所有的类都会在结构里面暴露
  • public修饰的类 这个文件的名称必须和这个类名相同
    public static void main (String[] args) {}
  1. 提供一个main方法作为入口点
  2. public 入口方法 需要外部调用
  3. static 静态方法 静态方法在类加载之前就被提前加载了
  4. void main方法不需要返回值 GC机制 自动释放

GC(Garbage Collection):JAVA/.NET中的垃圾回收器
在老式的C/C++程序中,程序员定义了一个变量,就是在内存中开辟了一段相应的空间来存值。由于内存是有限的,所以当程序不再需要使用某个变量的时候,就需要销毁该对象并释放其所占用的内存资源,好重新利用这段空间。在C/C++中,释放无用变量内存空间的事情需要由程序员自己来处理。就是说当程序员认为变量没用了,就手动地释放其占用的内存。但是这样显然非常繁琐,如果有所遗漏,就可能造成资源浪费甚至内存泄露。当软件系统比较复杂,变量多的时候程序员往往就忘记释放内存或者在不该释放的时候释放内存了。
有了GC,程序员就不需要再手动的去控制内存的释放。当Java虚拟机(VM)或.NETCLR发觉内存资源紧张的时候,就会自动地去清理无用对象(没有被引用到的对象)所占用的内存空间(这里的说法略显粗略,事实上何时清理内存是个复杂的策略)。如果需要,可以在程序中显式地使用System.gc() / System.GC.Collect()来强制进行一次立即的内存清理。Java提供的GC功能可以自动监测对象是否超过了作用域,从而达到自动回收内存的目的,Java的GC会自动进行管理,调用方法:System.gc() 或者Runtime.getRuntime().gc();

对象

一切皆对象

java 数据类型

char
float 除非加上f否则都会被当作double
long l/L
float version = 9.0f;
long size = 1234L;
int
数组 int[] scores = new int[5];
布尔类型 boolean 只有真假(true/false) 与c语言(非0即真不同)
字符串 String name = "jack";

           String[] names =new String[]{};
           names[0] = "merry";
           System.out.println(names[0]);

不行,应该改为

           String name = "jack";
           String[] names =new String[5];
           names[0] = "merry";
           System.out.println(names[0]);

输出

  • print 打印不换行
  • println换行
float version = 9.0f;
long size = 1234L;
System.out.println("Android "+version+"size is "+size+".");

输入

Scanner

  1. 创建一个扫描仪
    终端输入 文件 字符串
    Scanner sc = new Scanner(System.in);
  2. 开始接受一个整数
int num = sc.nextInt();
boolean b = sc.nextBoolean();
for(int i= 0;i<3;i++){
int num = sc.nextInt();
System.out.println("输入的内容是"+num);
}

随机数产生

Random r = new Random();
int num =r.nextInt(100);
System.out.println(num);

约瑟夫环的java实现

对比c语言

package swu.cjy.day1;


import java.util.Scanner;

public class MyClass {
    public static void main (String[] args) {
        int num = 0 ;
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入参与人数:");
        num = scanner.nextInt();
        int[] temp = new int [num];
        for(int i = 0; i< num ; i++){
            temp[i]=i + 1;
        }

        System.out.print("请输入死亡编号:");
        int killedNumber =scanner.nextInt();
        int count = 0;
        int killed = -1;
        int totalKilled = 0;
        for(int i = 0;i < num; i++){
            if(temp[i] != killed){
                count++;
                if(count == killedNumber){
                    System.out.println(temp[i]);
                    count = 0;
                    totalKilled++;
                    temp[i] = killed;
                    if (totalKilled == num - 1){
                        break;
                    }
                }
            }
            if(i == num-1){
                i = -1;
            }
        }
        for(int i = 0;i < num ;i++){
            System.out.print(temp[i]+" ");
        }
    }
}
java

体会

今天的java的内容比前两天c的简单好多,节奏也放慢了好多,让我这种java零基础的人感到极度舒适,快乐就是如此简单。

相关文章

网友评论

      本文标题:DAY7Java语言入门基础教学1+约瑟夫环的Java实现

      本文链接:https://www.haomeiwen.com/subject/ahrvdctx.html