由于本人已经学习Java语言超过一周,所以就收到了来自该语言的第一份考验:Java语言基础测试。
一、图片验证码的生成(观看相关视频完成的。。。)
//还未能够成功地实现随机修改颜色 import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Scanner; import java.util.Random; public class maneger { //数组 static String[] strs={"a","b","c","d","e","f","g","h","i", "j","k","m","n","o","p","q","r","s","t","u","v","w","x","y","z", "2","3","4","4","5","6","7","8","9"}; public static void main(String[] args) throws IOException { Scanner sc=new Scanner(System.in); Random r=new Random(); //需求:通过Java生成图片--含有字母。数字。干扰线 int w=150;//宽度 int h=50;//高度 int imageType=BufferedImage.TYPE_INT_RGB;//图片类型--图片的组成方式(三原色) BufferedImage image=new BufferedImage(w,h,imageType); //画板准备完成 //准备画笔--修改图片颜色 Graphics g=image.getGraphics();//获取画笔对象 //设置颜色 g.setColor(Color.yellow); //填充矩形 g.fillRect(0,0,w,h); //随机取字 g.setColor(Color.blue); //设置字体 g.setFont(new Font("楷体",Font.PLAIN,25)); int x=25,y=25; for(int i=0;i<4;i++) { int num=r.nextInt(strs.length); String str=strs[num]; //将字符画到画板上面 g.drawString(str,x,y); x+=25; } //画干扰线 g.setColor(Color.green); for (int i = 0; i < 10; i++) { int x1=r.nextInt(30); int y1=r.nextInt(50); int x2=r.nextInt(30)+120; int y2=r.nextInt(50); g.drawLine(x1,y1,x2,y2); } ImageIO.write(image,"jpg",new File("D:\\java\\aaa.jpg")); //传参保存完成 } }
二、Java随机四则运算代码的输出
//功能:1指定题目数量 // 2 运算符、数字均随机 // 3指定是否使用乘除 import java.util.Scanner; import java.util.Random; public class manager { public static void main(String[] args) { Scanner sc=new Scanner(System.in); Random r=new Random(); int n=r.nextInt(); int []b=new int[n];//运算符个数 int []a=new int[n];//数字个数 int []f=new int[n];//运算符 int []x=new int[n];//我的答案 int []y=new int[n];//系统根据数学式所得出的答案 String s=new String(); int i; int a,b,c; int count; int t; system.cout.println("请确认是否使用乘除法运算:1--使用;0--不使用"); t=sc.nextInt(); count=sc.nextInt(); for(i=0;i<count;i++) { a=r.nextInt(100); b=r.nextInt(100); f=r.nextInt(4); system.cout.println(a[i]+get(f[i])+b[i]+'='); if(t==1) { y[i]=getget(a[i],b[i],f[i]); } if(t==0) { y[i]=getget2(a,b,f[i]); } system.cout.println("请输入你的答案:"); x[i]=sc.nextInt(); if(x[i]==y[i]) { system.out.println("答对啦!"); } else { system.out.println("答错了。"); } } } public static String get(int m)//运算符 { String mm=""; switch(m) { case 0: String mm="+"; break; case 1: String mm="-"; break; case 2: String mm="*"; break; case 3: String mm="/"; break; } return mm; } public static int getget(int q,int w,int pp)//计算 { int sum=0; switch(pp) { case 0: sum=q+w; break; case 1: sum=q-w; break; case 2: sum=q*w; break; case 3: if(w==0) { system.out.println("报错!"); } else { sum=q/w; } break; } } public static int getget2(int q,int w,int pp)//计算 { int sum=0; switch(pp) { case 0: sum=q+w; break; case 1: sum=q-w; break; } } }
但是新知识还是要学哒,本次的学习内容是有关于类的继承
鉴于类也是本学期C++学习的重点内容,所以对Java的类的知识还是能够不错掌握的,下面就是我对本次学习的总结啦!
与C++的主要不同是,子类与父类的定义主要依靠extends,区别于C++中的:,其次就是子类默认继承父类的无参构造函数,要想也继承父类的有参构造函数,需要用到super关键字,由super()-->super(...);
若是父类,子类和子类的成员方法中均含有同一个类型名,被赋予的不同值的参数,默认先访问子类成员方法中的参数,要想跳过该成员方法中的参数,可以在使用该类型名时加上this.类型名即可跳过;若是再想直接访问父类中的同一类型名的参数,可以使用super.类型名即可。
子类中出现了和父类中一样的方法声明:主要用于子类既可以继承父类的功能,也具有自己的独有功能;
举例:
//测试类 public class PhoneDemo { public static void main(String[] args) { newPhone p=new newPhone(); p.show("lily"); } } //父类 public class Phone { public void show(String name) { System.out.println("给"+name+"打电话");//相当于super.show(name); } } //子类 public class newPhone extends Phone { public void show(String name) { System.out.println("开启视频功能"); System.out.println("给"+name+"打电话"); super.show(name); } }
需要注意的是,在方法重写声明中,易将声明写错,所以,可以利用@Override进行检查方法重写声明的正确性
1、私有成员方法不能够被重写
2、在方法重写时,其访问权限不要比父类的低就不会报错(权限排序:public>默认>private)
在继承中,不可以同时继承多个类,只能继承一个类(需要单独继承)
总结:
Java中只支持单继承,不支持多继承;但支持多层继承
Example:
//测试类 public class result { public static void main(String[] args) { son s=new son(); s.show(); } } //父类 public class father { public void show() { System.out.println("爸爸爱编程"); } } //子类 public class son extends father { public void show() { System.out.println("儿子会编程"); super.show(); } }
基础应用举例:
//测试类 public class test { public static void main(String[] args) { student s=new student(); s.show("姓名","年龄"); s.show(工资,工号); } } //学生类作为子类 public class student { public String name; public int age; public void show(String name,int age) { System.out.println("姓名:"+name); System.out.println("年龄:"+age); System.out.println("身为一名学生,要努力学习"); } } //教师类作为父类 public class teacher { public int wages; public int id; public void show(int wages,int id) { System.out.println("工资:"+wages); System.out.println("工号:"+id); System.out.println("身为一名教师,要教书育人"); } }