Java跳跃级知识储备

1.Mathod新篇章

1.0进制转化(方法中的参数其实就是局部变量,在方法中定义的变量要赋初值)

import java.util.Scanner;

public class Main//进制转化
{
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
int num=input.nextInt();
System.out.println(DecToHex(num));
String s=input.next();
System.out.println(HexToDec(s));
}
public static int HexToDec(String s)
{
int sum=0,k=0;
for(int i=s.length()-1;i>=0;i--)
{
char ch=s.charAt(i);
if(ch>='0'&&ch<='9')
{
sum+=(ch-'0')*Math.pow(16, k);
}
else
{
sum+=(ch-'A'+10)*Math.pow(16,k);
}
k++;
}
return sum;
}
public static String DecToHex(int num)
{
String s="";
int t;
char ch;
while(num!=0)
{
t=num%16;
if(t>=0&&t<=9)
{
ch=(char) (t+'0');
}
else
{
ch=(char) (t-10+'A');
}
s=ch+s;
num/=16;
}
return s;
}
}

2.0 方法重载

重载指的是方法名称相同,参数列表不同,编译器会根据方法签名决定调用哪个方法

注意:1.有时候调用方法会有两个或更多可能的匹配,编译器无法判断哪个更为精确,这称为歧义调用。

2.被重载的方法必须具有不同的参数列表

import java.util.Scanner;

public class Main
{
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
double num1=input.nextDouble();
double num2=input.nextDouble() ;
System.out.println(max(num1,num2));//编译器会自己决定调用哪一个 }
public static int max(int a,int b)
{
return a>b ? a:b;
}
public static double max(double a,double b)
{
return a>b? a:b;
}
}

2.0 面向对象的思考

万物皆对象!

使用面向对象思想描述现实世界:基本步骤

1.发现类 2.找出属性(名词)3.找出行为(动词) ——数据抽象:是数据和处理方法的结合。

如何使用这一方法(思想)看下面的一个小样例

public class Actor {
public String name;
public String sex;
public int age ;
public void show(){
System.out.println(name+"\t"+sex+"\t"+age);
}
}
public class Main{
public static void main(String[] args) {
Actor actor1=new Actor();//Actor这个类自定义出来的 需要构造新的类
Actor actor2=new Actor();
actor1.name="V";
actor1.age=25;
actor1.sex="男";
actor1.show();
actor2.name="JK";
actor2.age=23;
actor2.sex="男";
actor2.show();
}
}

这种方法比较麻烦 我们可以采用构造方法 将代码简化

修改后为

public class Actor {
public String name;
public String sex;
public int age ;
public Actor(){};
public Actor(String name1,String sex1,int age1 )
{
name=name1;
sex=sex1;
age=age1;
}
public void show(){
System.out.println(name+"\t"+sex+"\t"+age);
}
}
public class Main{
public static void main(String[] args) {
Actor actor1=new Actor("V","男",25);
Actor actor2=new Actor("JK","男",23);
/*
* 如果不传参数的话就会报错 因为在原来的类中系统默认构造了一个
* public Actor()
* {
* }
* 而用户已经构造 会覆盖系统默认的 只需要在原来构造类中添加即可
* */
actor1.show();
actor2.show();
}
}

关于构造方法:

1.没有返回值类型 2.名称与类名一致.3.可以指定参数及实现重载 4.注意隐式构造和参数化构造不能共有

3.0 ArrayList动态数组——真香系列

敲黑板!

ArrayList不同于普通数组的最大区别是它可以更改数组的长度 操作起来便利

ArrayList如果希望存储基本类型 存储基本类型的包装类

集合也可以做参数

下面ArrayList的练习

1)存储1-33的6个随机数字 并遍历打印

import java.util.ArrayList;
import java.util.Random; public class Practice {
public static void main(String[] args) {
ArrayList<Integer> list=new ArrayList<>();
Random r=new Random();
for(int i=;i<;i++)
{
int num=r.nextInt()+;
list.add(num);
}
for(int i=;i<list.size();i++)
{
System.out.print(list.get(i)+" ");
} }
}

2)存储自定义类 题目为存储学生类型 姓名以及学生年龄

public class Student {
private String name;
private int age;
public Student() {}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
} }
import java.util.ArrayList;

public class Practice {
public static void main(String[] args) {
ArrayList<Student> list=new ArrayList<>();
Student one =new Student("金泰亨",25);
Student two =new Student("田柾国",23);
list.add(one);
list.add(two);
for(int i=0;i<list.size();i++)
{
Student stu=list.get(i);//放入的是学生类 拿出的也是学生类
System.out.println("姓名:"+stu.getName()+" "+"年龄:"+stu.getAge());
}
}
}

3)筛选集合里的偶数 放到小集合里

import java.util.ArrayList;
import java.util.Random; public class Practice {
public static void main(String[] args) {
ArrayList<Integer> biglist=new ArrayList<>();
Random r=new Random();
for(int i=0;i<100;i++)
{
int num=r.nextInt(101);
biglist.add(num);
}
ArrayList small= getlists(biglist);
System.out.println("小集合里的元素个数为:"+small.size());
for(int j=0;j<small.size();j++)
{
System.out.print(small.get(j)+" ");
}
}
public static ArrayList<Integer> getlists(ArrayList<Integer> biglist)
{
ArrayList<Integer> small = new ArrayList<>();
for(int i=0;i<biglist.size();i++)
{
int num=biglist.get(i);
if(num%2==0)
{
small.add(num);
}
}
return small;
}
}

JAVA自学笔记(2)的更多相关文章

  1. JAVA自学笔记09

    JAVA自学笔记09 1.子类的方法会把父类的同名方法覆盖(重写) 2.final: 1)可修饰类.方法.变量 2)修饰类时:此时该类变为最终类,它将无法成为父类而被继承 3)修饰方法时:该方法将无法 ...

  2. JAVA自学笔记05

    JAVA自学笔记05 1.方法 1)方法就是完成特定功能的代码块,类似C语言中的函数. 2)格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,-){ 函数体; return ...

  3. JAVA自学笔记06

    JAVA自学笔记06 1.二维数组 1)格式: ①数据类型[][]数组名 = new 数据类型[m][n]; 或 数据类型[]数组名[]=new 数据类型[m][n]; m表示这个二维数组有多少个一维 ...

  4. JAVA自学笔记04

    JAVA自学笔记04 1.switch语句 1)格式:switch(表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; - default: 语句体n+ ...

  5. JAVA自学笔记07

    JAVA自学笔记07 1.构造方法 1) 例如:Student s = new Student();//构造方法 System.out.println(s);// Student@e5bbd6 2)功 ...

  6. JAVA自学笔记10

    JAVA自学笔记10 1.形式参数与返回值 1)类名作为形式参数(基本类型.引用类型) 作形参必须是类的对象 2)抽象类名作形参 需要该抽象类的子类对象,通过多态实现 3)接口名为形参 需要的是该接口 ...

  7. JAVA自学笔记13

    JAVA自学笔记13 1.StringBuffer类 1)线程安全的可变字符序列 线程安全(即同步) 2)StringBuffer与String的区别:一个可变一个不可变 3)构造方法: ①publi ...

  8. JAVA自学笔记11

    JAVA自学笔记11 1:Eclipse的安装 2:用Eclipse写一个HelloWorld案例,最终在控制台输出你的名字 A:创建项目 B:在src目录下创建包.cn.itcast C:在cn.i ...

  9. JAVA自学笔记14

    JAVA自学笔记14 1.正则表达式 1)是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.其实就是一种规则.有自己的特殊应用 2)组成规则: 规则字符在java.util.rege ...

  10. JAVA自学笔记12

    JAVA自学笔记12 1.Scanner 1)JDK5后用于获取用户的键盘输入 2)构造方法:public Scanner(InputStream source) 3)System.in 标准的输入流 ...

随机推荐

  1. Nginx入门资料

    最近在学习Nginx,记录一下自己的学习历程. 1. Nginx开发从入门到精通 (淘宝技术团队编写,值得一看) 2. <深入理解Nginx:模块开发与架构解析> 3. Nginx模块开发 ...

  2. 如何在Windows下安装MySQL5和MySQL8的多实例

    MySQL5和MySQL8多实例安装方法: 1.首先下载MySQL5和MySQL8 官方下载链接:https://dev.mysql.com/downloads/mysql/  下载旧版本: 下载好后 ...

  3. C++关闭同步流 ios::sync_with_stdio(false)

    说明:ios::sync_with_stdio(false) 1.这句语句是用来取消cin的同步,什么叫同步呢?就是iostream的缓冲跟stdio的同步.这就是为什么cin和cout比scanf和 ...

  4. Spring Cloud 学习 之 Spring Cloud Eureka(架构)

    Spring Boot版本:2.1.4.RELEASE Spring Cloud版本:Greenwich.SR1 文章目录 Eureka服务治理基础架构的三个核心要素: 服务治理机制: 服务提供者: ...

  5. Spring Cloud 学习 之 Spring Cloud Eureka(搭建)

    Spring Boot版本:2.1.4.RELEASE Spring Cloud版本:Greenwich.SR1 文章目录 搭建服务注册中心: 注册服务提供者: 高可用注册中心: 搭建服务注册中心: ...

  6. spark是怎么从RDD升级到DataFrame的?

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是spark专题的第五篇,我们来看看DataFrame. 用过Python做过机器学习的同学对Python当中pandas当中的Data ...

  7. Spring JDBC 框架使用JdbcTemplate 类的一个实例

    JDBC 框架概述 在使用普通的 JDBC 数据库时,就会很麻烦的写不必要的代码来处理异常,打开和关闭数据库连接等.但 Spring JDBC 框架负责所有的低层细节,从开始打开连接,准备和执行 SQ ...

  8. 一文带你了解Spring核心接口Ordered的实现及应用

    前言 最近在看框架的时候,发现了这个接口,在此进行总结,希望能够给大家帮助,同时提升自己. order接口的大体介绍 Spring框架中有这个一个接口,名字叫Ordered,联想我们在数据库中应用的O ...

  9. 2018-06-27 jq文档处理与jq对象属性操作

    jQ文档处理: 内部插入 A.append(B) ->把B后追加到A内部中 B.appendTo(A) ->把B后追加到A内部中 A.prepend(B) ->把B后追加到A内部中 ...

  10. 基于hexo创建博客(Github托管)

    基于hexo的博客 搭建好的博客网站 dengshuo7412.com 搭建步骤 1.依赖文件下载 Node.js 2.Hexo的安装 3.部署到Github 4.Hexo创建博客基本操作 5.Hex ...