java中的类和对象以及java基础的回顾

package _yzq_1;

public class _yzq_SH {
//灯开关:
public static void main01(String[]args) {
//有一排开关,第一个人把所有的开关打开,第二个人按2的倍数的开关,
//第三个人按3的倍数的开关
//一次类推,现在有n个开关,k个人人,写函数最后灯亮着的开关
//开关的个数 n 人的个数k
//每一个人去遍历每一个开关
//关系:第几个人(第K个人可以按下k的倍数的开关 n%k==0 满足这个条件 按下开关
//第一个人 k=1 n=1,2,3,4,5,6…n
//第二个人 k=2 n=2,4,6,8…
func(100,2);//2个开关 3个人

}
public static void func(int n,int k) {
	
	//方法都是小驼峰
	boolean[]bs=new boolean[1000];//从零开始n个灯 bs[n-1]数组最大访问是n-1
	//没有要第0个开关
	for(int i=1;i<=k;i++) {
		//k个人
		for(int j=1;j<=n;j++) {
			//n个开关
			if(j%i==0) {
				n求余但是不能用   用变量
				//按开关   怎么表示按开关     取反的逻辑
				bs[j]=! bs[j];
			}
			
		}
	}
	for(int i=1;i<=n;i++) {
		//开关的数量
		if(bs[i]) {
			System.out.println(i);//亮着的灯
		}
		
	}
}

//总结1.程序的运行  编译  解释
/**
 * 2.java的运行环境    jdk   jre   jvm
 * 3.常量   数据类型     标识符  关键字    运算符
 * 4.条件语句 if和switch  一个case跟一个break
 * 5.循环语句   for  while   do-while循环
 * 6.跳出 break   return    continue 
 * 7.方法    方法的定义和调用(三要素:方法  参数   返回值)  方法重载   递归(栈溢出)
 * 8.数组     返回值     参数   冒泡排序    数组内存(局部变量)
 *局部变量
 * int a=1;
 * int b=a;
 * b=100; ===>    a=1;
 *  int []arr=new  int[]{1};数组的声明+初始化+赋值
 *  int []arr1=arr;
 *  arr1[0]=100;
 *  arr[0]=100;
 * 1.栈和堆
 * 栈:小块存储区域   存取快   栈中数据大小和生命周期必须是确定的(编译期间),缺乏灵活性
 * 堆:大  存取慢     动态的申请内存
 * 前提局部变量
 * 2.存取位置:
 * 基本数据类型:在栈上直接存储值   
 * 引用类型:在栈上存储(内存地址),而在堆上存储数据
 * 3.程序的运行和数据存储分别是在哪里完成的?
 * 程序的运行实在栈中(一个方法对应一个栈帧,数据的保存是在堆中
 * 4.栈和堆的特点:
 * 栈:资源申请  压栈和出栈  先进后出   资源释放:程序运行完成,自动释放栈
 * 堆:资源申请    有内存就可以申请  无顺序的   释放:当栈中没有引种指向堆中那块内存的时候释放
 * 这块内存变成了垃圾,jvm中有垃圾回收机制
 * 
 * 
 * 
 */

}

package _yzq_1;

public class _yzq_ld {
public static void main(String[]args) {
//堆和对象 java面向对象的语言
//ooP面向对象编程
//精髓OOA和OOD(面向对象分析与设计)
//一开始的语言是面向过程的
//案例:图灵机 c语言 面向过程 (数据结构+算法) 关心解决问题如的步骤
//面向过程:对象+交互(关心谁在解决问题)
//类:一个抽象的概念 就是生活中的类别,即归属于某个类别的个体
//现有类?还是现有对象呢?
//从编码的角度来说:先有类 再有对象
//2.从设计的角度来说:现有对象 再有类
//类:class () 脚本 抽象概念 ,类别 对象:new 实例化的内存 具体的实例,个体
//对象与对象之间 数据不同
//类和类之间 行为的不同

}

}

package cn.hberj.Demo;
/**

  • 定义一个类,用来模拟学生 两个部分:
  • 属性
  • 姓名 String name;
  • 年龄 int age;
  • 成绩 float score;
  • 行为
  • public void eat(){
  • }
  • sleep
  • playGame(String Gamename)
  • @author lenovo

*/
//修饰符 public 关键字 class 类名 大驼峰
public class Student {
//成员变量 类内方法外
String name;//姓名
int age;//年龄
float score;//成绩
//成员方法:
public void eat() {
System.out.println(“吃鲍鱼龙虾”);
}
public void sleep() {
System.out.println(“睡一个回笼觉”);
}
public void playGame(String name) {
System.out.println(“玩”+name );
}
//注意事项 成员变量:类内方法外
//2.成员方法 默认是不加Static
//

}

package cn.hberj.Demo;
//创建这个类的目的 创建对象
/**

  • 使用类(为了创建对象)类不能直接使用,根据类创建对象才能使用
  • 怎么创建对象呢?(使用 类的步骤)
    *1.导入包 如果使用和本类同一个包下的类 不需要导包 可以省略
    *如果使用和本类不在同一个包下的类,导报 在什么位置
    *2.创建
    *类名 对象名=new 类名();
    *Student stu=new Student();
    *3.使用
  • 使用成员变量 对象名.成员变量
  • 成员方法 对象名.成员方法
  • @author lenovo

*/
//测试使用类
public class StudentText {
public static void main(String[]args) {
//1.导包
//2.创建
Student stu=new Student();
//stu对象 引用
//使用
System.out.println(stu.name);
System.out.println(stu.age);
System.out.println(stu.score);
//在为给学生的属性赋值之前是有默认值的
//null
//0
//0.0
stu.name=“万茜”;
stu.age=18;
stu.score=100;
System.out.println(stu.name);
System.out.println(stu.age);
System.out.println(stu.score);
//访问成员方法
stu.eat();
stu.sleep();
stu.playGame(“王者荣耀”);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值