一、简单习题部分
1.1简单判断一个质数
import java.util.Scanner;
public class panduanzhishu {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个正整数");
int num = sc.nextInt();
boolean flag = true;
for(int i = 2;i < num / 2;i++){
if (num % i == 0){
flag = false;
break;
}
}
if(flag){
System.out.println(num + "是一个质数");
}
else{
System.out.println(num + "不是质数");
}
}
}
1.2判断数字回文
import java.util.Scanner;
public class sumhuiwen {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入数字");
int num = sc.nextInt();
int sum = 0;
int temp = num;
while (num != 0)
{
int ge = num%10;
num = num / 10;
sum = sum*10+ge;
}
System.out.println(sum);
if(temp == sum)
{
System.out.println(true);
}
else{
System.out.println(false);
}
}
}
1.3生成随机数,并猜大小
Random用法
![](https://img-blog.csdnimg.cn/img_convert/fad30ac321a9746014b825f93a092ebe.png)
题目如下
![](https://img-blog.csdnimg.cn/img_convert/f940d9f5d941134c0ada757aa5b92cf6.png)
import java.util.Random;
import java.util.Scanner;
public class suijishu {
public static void main(String[] args) {
//生成一个1~100的随机数
Random r = new Random();
int num = r.nextInt(100)+1;
//判断大小
while(true){
//猜这个数字是多少
Scanner sc =new Scanner(System.in);
System.out.println("请输入你要猜的数字");
int guessnum = sc.nextInt();
if(guessnum > num){
System.out.println("猜大了");
}
else if (guessnum < num){
System.out.println("猜小了");
}
else{
System.out.println("猜中了");
break;
}
}
}
}
二、动态及静态数组
2.1静态数组的几种初始化方式
静态数组其余功能与C类似,不再做太多说明。
![](https://img-blog.csdnimg.cn/img_convert/d9310621f89a072594ec41ec24b169b3.png)
2.2静态数组遍历快捷方式
(数组名.length) 或者 (数组名.fori)
![](https://img-blog.csdnimg.cn/img_convert/717bcd7d2f46bf432d76128c22784004.png)
2.3动态数组初始化
![](https://img-blog.csdnimg.cn/img_convert/07038872b5289f0064a4fb0431d84135.png)
运行结果如下
![](https://img-blog.csdnimg.cn/img_convert/e06179b773c0b0c5dd6a10ecfb6dfccb.png)
2.4求数组元素最大值
![](https://img-blog.csdnimg.cn/img_convert/fe905e4a72adb7ca7b8db21df6f1acc9.png)
2.5将数组中的元素全部倒过来
![](https://img-blog.csdnimg.cn/img_convert/699038f3e50630676ebc504856dcf855.png)
public class jiaohuanshuju {
public static void main(String[] args) {
int arr[] = {1,2,3,4,5};
for (int i = 0,j=arr.length-1; i < j; i++,j--) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
2.6将数组元素全部打乱
![](https://img-blog.csdnimg.cn/img_convert/d6ddac937a196d569cb5d942ed55a825.png)
mport java.lang.reflect.Array;
import java.util.Random;
public class jingtaishuzu {
public static void main(String[] args) {
int []array={1,2,3,4,5};
Random r = new Random();
int ppsuc = r.nextInt(array.length);
for (int i = 0; i < array.length; i++) {
int temp = array[i];
array[i] = array[ppsuc];
array[ppsuc] = temp;
}
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]+" ");
}
}
}
2.7数组内存的存储方式
2.7.1第一种情况
![](https://img-blog.csdnimg.cn/img_convert/2515e316a163716aa131531fa93f4957.png)
![](https://img-blog.csdnimg.cn/img_convert/2f6e126ac97aace0ce8cfd51bc45995e.png)
2.7.2第二种情况(共享数组)
![](https://img-blog.csdnimg.cn/img_convert/fa00d57d2f9934bbea33e9239353114d.png)
![](https://img-blog.csdnimg.cn/img_convert/27f0e92897e5fcaa5a2033a607025c60.png)
2.8二维数组初始化
2.8.1 维数组静态初始化
![](https://img-blog.csdnimg.cn/img_convert/210076414b9206d67ffbeaa87fd37ed2.png)
![](https://img-blog.csdnimg.cn/img_convert/c99175d4c21e3e838379aaa4a9e0a11a.png)
2.8.2二维数组动态初始化
![](https://img-blog.csdnimg.cn/img_convert/fc52ca2552a1c58848565059bc6441d1.png)
2.8.3遍历二维数组
![](https://img-blog.csdnimg.cn/img_convert/47cc079ac3bd43c535dd40dfaae83807.png)
三、函数
3.1方法
![](https://img-blog.csdnimg.cn/img_convert/3e105f8c5565c8a636771e9a09d8b2b4.png)
方法的定义格式如下(就是C语言中的函数!)
![](https://img-blog.csdnimg.cn/img_convert/502e030a81f0bca700b2be3cd0bd3347.png)
3.1.1方法的重载
什么是方法的重载??
![](https://img-blog.csdnimg.cn/img_convert/50cd4a7fabc3fb27bef27463bcd58c6c.png)
例如:
![](https://img-blog.csdnimg.cn/img_convert/f9029bf498751a6a30e742dc0048ca3f.png)
![](https://img-blog.csdnimg.cn/img_convert/14019ddf0b2b2a35d7a99f52b17e36dc.png)
3.1.2判断是否构成重载关系
![](https://img-blog.csdnimg.cn/img_convert/876629ab3a5f696576d49b709ae92908.png)
四、面向对象
4.1创建一个类
![](https://img-blog.csdnimg.cn/img_convert/8a30a8d5a8e235f48bdfdbe805eb43e4.png)
如何使用这个类?
![](https://img-blog.csdnimg.cn/img_convert/9cf0ebccc90ddbdead71e01f073b0f1d.png)
例如:
先定义一个手机对象
public class Phone {
//属性
String brand;
double price;
//行为
public void call(){
System.out.println("手机在打电话");
}
public void playGame(){
System.out.println("手机在打游戏");
}
}
创建实体对象,并使用
public class PhoneTest {
public static void main(String[] args) {
//创建手机的对象
Phone p = new Phone();
//使用新创建的对象
p.brand = "小米";
p.price = 998;
p.call();
p.playGame();
}
}
4.2封装
4.2.1关键字Private
![](https://img-blog.csdnimg.cn/img_convert/19e5ba0bde31047819d5267f0c3e7008.png)
4.2.2使用Set和Get进行条件封装
例如先创建一个手机类,用Private和set、get进行封装
public class Phone {
//属性
private String brand;
private double price;
public void SetBrand(String n){
brand = n;
}
public String GetBrand(){
return brand;
}
public void setPrice(int a){
if(a > 500 && a<=1500){
price = a;
}
else{
System.out.println("非法参数");
}
}
public double GetPrice(){
return price;
}
//行为
public void call(){
System.out.println("手机在打电话");
}
public void playGame(){
System.out.println("手机在打游戏");
}
}
然后主函数进行使用,注意使用set和get方法
public class PhoneTest {
public static void main(String[] args) {
//创建手机的对象
Phone p = new Phone();
//使用新创建的对象
//创建第一个对象
p.setPrice(1299);
System.out.println(p.GetPrice());
p.SetBrand("vivo");
System.out.println(p.GetBrand());
p.call();
p.playGame();
}
}
运行结果
![](https://img-blog.csdnimg.cn/img_convert/5f71e84de3f81fb5c94b1b4586260dfb.png)
对封装进行总结
![](https://img-blog.csdnimg.cn/img_convert/1a5e925dea30b1794489c2438d6c6eb2.png)
4.3this语句
this语句相当于跳过局部变量,直接访问成员变量
![](https://img-blog.csdnimg.cn/img_convert/41a90a3de8e3b5d629a97e8daacdaa90.png)
4.4构造方法
4.4.1构造方法的格式
![](https://img-blog.csdnimg.cn/img_convert/a0d460c945850184480dec3e463a06a4.png)
无参构造例子:
![](https://img-blog.csdnimg.cn/img_convert/95cd801975df483363d9e3ff474778f0.png)
有参构造例子:
![](https://img-blog.csdnimg.cn/img_convert/3cf3064e8ade53e839a23c2270fa1045.png)
!!!!!注意事项!!!!!!
![](https://img-blog.csdnimg.cn/img_convert/017cc0832bed265d14934c967e0b3682.png)
4.4.2总结
![](https://img-blog.csdnimg.cn/img_convert/c9e3053151ccb2b2a24500f7b381cabc.png)
4.5标准的javabean类
![](https://img-blog.csdnimg.cn/img_convert/354d917f3d9979fd3c652bc236e57044.png)
PS: 可以直接用PTG插件进行初始化构造