package cn.ysq.day03;
public class OperatorDemo1 {
public static void main(String[] args){
System.out.println(“100-1000中的水仙花数有:”);
for(int i=100;i<1000;i++){
int ge =i%10;
int shi=i/10%10;
int bai=i/10/10%10;
if (i==gegege+shishishi+baibaibai){
System.out.println(i);
}
}
}
}
100-1000中有那些水仙花数
package cn.ysq.day03;
/**
- while循环
- 猜的数字:int num = 456;
- 条件:int guess;
- while (guess != num){
-
猜数字:
-
guess<num; 猜小了:
-
guess>num; 猜对了:
-
guess=num; break
- @author Administrator
*/
import java.util.Scanner;
public class OperatorDemo2 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
//int num = 456;//
//随机产生 Math.random()0.0-0.999999无限
int num = (int) (Math.random()*1000 +1);
System.out.println(“请输入猜的数字:”);
int guess = sc. nextInt();
while(guess != num){
if(guess<num){
System.out.println(“猜小了:”);
}
else {
System.out.println(“猜大了:”);
}
System.out.println(“继续猜:”);
guess = sc. nextInt();
if(guess == num){
System.out.println("猜对了:");
}
sc.close();
}
}
}
while语句在1-1000中猜数字,并提示所猜数字的大小以继续游戏
package cn.ysq.day03;
import java.util.Scanner;
public class OperatorDemo {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int num = (int) (Math.random()*1000 +1);
System.out.println(“请输入猜的数字:”);
int guess = sc. nextInt();
do{
if(guess<num){
System.out.println(“猜小了:”);
}
else {
System.out.println(“猜大了:”);
}
System.out.println(“继续猜:”);
guess = sc. nextInt();
}while(guess != num);
if(guess == num){
System.out.println(“猜对了:”);
}
}
}
用do-while语句猜数字
package cn.ysq.day03;
public class OperatorDemo3 {
/**public static void main(String[] args){
for(int i = 1 ;i<=10;i++){
if(i % 2==0){
continue;
}
System.out.println(i);
}
}
**/
public static void main(String[] args){
for(int i = 0 ;i<=5;i++){
if(i ==2){
break;
}
System.out.println(i);
}
}
}
- break和continue区别
- continue使用循环结构中,用于结束本次循环继续下次循环
- break可以使用在switch和循环结构中,用于跳出当前结构
package cn.ysq.day03;
/**
-
数组初始化
-
必须先初始化,后使用
-
初始化:数组中的数组元素进行分配内存空间
-
并且为每一个数组元素进行赋值
-
两种
-
动态初始化 :初始化的时候,只指定数组的长度,由系统来为数组分配初始值
-
静态初始化 :初始化的时候,指定了每一个数组元素的初始化值,由系统决定数组长度
-
java中的内存分配
-
栈:
-
存储的是局部变量
-
局部变量是定义在方法中的变量
-
使用完毕之后就会被释放,立即回收
-
堆:
-
存储的是new出来的对象,实体
-
每一个对象都是有地址值的
-
每一个对象的数据都是有默认值的
-
byte short long-------0
-
float double----------0.0
-
char----------------’\u0000’
-
boolean-------------false
-
引用类型--------------null
-
使用完毕之后,会在垃圾回收器空闲的时候,被回收
-
方法区:
-
本地方法区:(和系统有关系)
-
寄存器 :给cpu使用的
**/
public class OperatorDeemo4 {
public static void main(String[] args){
//数组的初始化 动态初始化
int[] arr = new int[6]; //0 0 0 0 0 0
arr[0] = 1;//1 0 0 0 0 0
//静态初始化
int[] arr1 ={1,3,5};
int[] arr2 =new int[]{1,4,6};
int[] arr3;
arr3 =new int[]{1,3,5};}
}
package cn.ysq.day03;
import java.util.Scanner;
public class CardDemo {
public static void main(String[] args){
//身份证前十七位数字
int card[] = new int [17];
//1-17位对应系数
int data[] = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
//身份证最后一位系数
char[] code = {‘1’,‘0’,‘x’,‘9’,‘8’,‘7’,‘6’,‘5’,‘4’,‘3’,‘2’};
Scanner sc = new Scanner(System.in);
int sum = 0;
for(int i = 0; i< card.length;i++){
System.out.println(“请输入身份证的前十七位:”);
card[i] =sc.nextInt();
}
for(int i = 0; i< card.length;i++){
sum +=card[i] * data[i];
}
System.out.println(“最后一位:” + code[sum % 11]);
sc.close();
}
}
数组进行身份证号检验
package cn.ysq.day03;
/**
- 数组越界异常
- 访问了数组中不存在的索引
- 空指针异常
- 数组的引用没有指向对象,但是却在操作对象中的元素
- @author Administrator
*/
public class OperatorDemo5 {
public static void main(String[] args){
int[] arr = {1,3,5};
try{
arr = null;
System.out.println(arr[3]);
System.out.println(arr[1]);
}catch(NullPointerException e){
System.out.println(“发生了空指针异常”);
}catch(ArrayIndexOutofBoundsException e){
System.out.println(“发生了数组越界异常”);
}catch(Exception e){
e.printStackTrace();
}
System.out.println(“1234”);
System.out.println(“1234”);
System.out.println(“1234”);
}
}
package cn.ysq.day03;
/**
- 冒泡排序
- 声明数组,存放8个元素
- @author Administrator
*/
public class OperatorDemo6 {
public static void main(String[] args){
boolean isSorted;
int[] arr = {15,3,4,6,2,90,123,1};
for(int i = 0;i < arr.length;i++){
isSorted= true;//假设剩下的元素已经排好序了
for(int j = 0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
int temp =arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
isSorted = false;
//一旦需要交换数组元素,说明剩下的元素没有排好序
}
}
System.out.println(“排序的趟数:” + i);
if (isSorted){
break;//如果没有发生交换,说明剩下的元素已经排序完毕
}
}
System.out.println(“排序后数组:”);
for(int i=0;i<arr.length;i++){
System.out.println(arr[i]);
}
}
}
可以动的乌龟
package cn.ysq.day02;
import javax.swing.JFrame;
/**
- JFrame 窗体 相框
- JPanel画布 相片
- 手动导包 import
- 自动导包ctrl+shiift+0
- 点击红色叉号
- @author Administrator
*/
public class Turtlepro {
public static void main(String[] args){
JFrame frame = new JFrame();//创建一个窗体对象
frame.setTitle(“忍者神龟”);//给窗体添加标题
frame.setSize(1400,800);//大小
frame.setLocationRelativeTo(null);//居中
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
TJPanel tj = new TJPanel();//画布
frame.add(tj);
frame.addMouseListener(tj);
tj.addMouseListener(tj);
frame.setVisible(true);//显示窗体
}
}
package cn.ysq.day02;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JPanel;
@SuppressWarnings(“serial”)
public class TJPanel extends JPanel implements KeyListener , MouseListener,Runnable{
private static Object start;
//乌龟初始位置
int x = 300;
int y = 200;
//脚的初始位置
int k1=300,t1=200;
int k2=300,t2=200;
int k3=300,t3=200;
int k4=300,t4=200;
//加水的波纹
int[] a = new int[300];
int[] b = new int[300];
//构造方法:方法名和类同名,无任何返回值类型;无参构造
public TJPanel(){//随机产生位置
for(int i = 0;i<a.length;i++){
a[i]=(int) (Math.random()*1400);
b[i]=(int) (Math.random()*800);
}
Thread t = new Thread (this);
t.start();
}
@SuppressWarnings({ "unused" })
public void paint(Graphics g){
super.paint(g);
this.setBackground(Color.cyan);
g.setColor(Color.BLUE);
for(int i=0;i<a.length;i++)
{
g.drawString("~~~~~~", a[i], b[i]);
}
//加龟头
g.setColor(Color.GREEN);
g.fillOval(x, y, 70, 100);
//加眼睛
g.setColor(Color.BLACK);
g.fillOval(x+10, y+30,10 , 15);
g.fillOval(x+50, y+30, 10, 15);
//加舌头
g.setColor(Color.RED);
g.fillOval(x+30, y, 8, 8);
//龟脚
g.setColor(Color.BLUE);
g.fillOval(x-80, y+60, 50, 100);
g.fillOval(x-110, y+230, 50, 100);
g.fillOval(x+120, y+60, 50, 100);
g.fillOval(x+140, y+230, 50, 100);
//加龟壳
g.setColor(Color.YELLOW);
g.fillOval(x-80, y+80, 250,300);
//尾巴
g.setColor(Color.GREEN);
g.fillOval(x, y+330, 70, 200);
//壳加文字
g.setColor(Color.RED);
g.drawString("七彩琉璃龟", x+40, y+200);
//设置字体大小
Font font = new Font(Font. DIALOG ,Font.BOLD,30);
g.setColor(Color.RED);
g.drawString("七彩琉璃龟", x-40, y+180);
/*g.drawRect(20, 150, 400, 600);//矩形
g.setColor(Color.RED);//设置颜色
g.fillRect(120, 200,160,80 );//实心
g.drawOval(30,250 ,100 ,80 );//圆
g.fillOval(130, 300, 100, 100);//椭圆
g.drawLine(80,80,300,350);//线段
g.drawOval(30,250 ,80 ,80 );
g.drawOval(90,250 ,80 ,80 );
g.drawOval(150,250 ,80 ,80 );
g.drawOval(210,250 ,80 ,80 );
*/
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
x = e.getX();
y = e.getY();
k1=e.getX();
t1=e.getY();
k2=e.getX();
t2=e.getY();
k3=e.getX();
t3=e.getY();
k4=e.getX();
t4=e.getY();
repaint();
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void run(){
System.out.println("线程启动");
while(true){
for(int i = 0;i<a.length;i++){
a[i]--;
if(a[i]<0){
a[i]=1400;
}
}
try{
Thread.sleep(10);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
repaint();
}
}
}