1.习题
package cn.itcast.day05.习题;
/* 实现不定次数打印,“官人,快来嘛”
参数:要
方法名:要
返回值:不要
*/
public class 实现不定次数打印 {
public static void main(String[] args) {
print(5);
}
public static void print(int n){
for (int i = 1; i <=n; i++) {
System.out.println("官人,快来嘛");
}
}
}
package cn.itcast.day05.习题;
/*
定义一个数组,按照数组{1,2,3,4}输出[1,2,3,4]
*/
public class 排版01 {
public static void main(String[] args) {
//调用方法
method01();
}
public static void method01(){
//定义数组
int []arr={1,2,3,4};
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
if(i==arr.length-1){
System.out.print(arr[i]+"]");
}else{
System.out.print(arr[i]+",");
}
}
}
}
package cn.itcast.day05.习题;
/*
定义一个数组,按照数组{4,3,2,1}输出[4,3,2,1]
*/
public class 排版02 {
public static void main(String[] args) {
//定义数组
int []arrA={4,3,2,1};
System.out.println(arrA);
method02(arrA);
}
//带参数
public static void method02(int []arrB){//int []arrB=arrA
System.out.print(arrB);
System.out.print("[");
for (int i = 0; i < arrB.length; i++) {
if (i==arrB.length-1){
System.out.print(arrB[i]+"]");
}else {
System.out.print(arrB[i] + ",");
}
}
}
}
package cn.itcast.day05.习题;
public class 求出和差并返回02 {
public static void main(String[] args) {
int []arrA=method02();
System.out.println(arrA[0]);
System.out.println(arrA[1]);
}
public static int[] method02(){
int i=10;
int j=20;
int sum=i+j;
int cha=i-j;
int []arr={sum,cha};
return arr;
}
}
package cn.itcast.day05.习题;
//定义一个方法,求出10和20的和以及差,并将和差返回
public class 求和求差将其再返回01 {
public static void main(String[] args) {
String method=method01();
System.out.println(method);
}
public static String method01(){
int i=10;
int j=20;
int sum=i+j;
int cha=i-j;
return sum+" "+cha;
}
}
package cn.itcast.day05.习题;
/*
计算1+2+3+...+100的和
参数:不要
方法名:要
返回值:不要
* */
public class 计算1到100的和 {
public static void main(String[] args) {
sum();
}
public static void sum(){
int sum=0;
for (int i = 1; i <= 100; i++) {
sum+=i;
}
System.out.println(sum);
}
}
2.作业
package cn.itcast.day05.作业;
public class 三个整数中的最大值并返回 {
public static void main(String[] args) {
int max=getMax(1,2,3);
System.out.println("最大值是"+max);
}
public static int getMax(int a,int b,int c){
if(a>b&&a>c){
return a;
}else if(b>a&&b>c){
return b;
}else{
return c;
}
}
}
package cn.itcast.day05.作业;
//请定义一个方法,对正数的小数进行四舍五入的操作(不考虑负数情况)。四舍五入之后的结果是一个int整数类型并返回
public class 四舍五入 {
public static void main(String[] args) {
double num=13.14;
//调用方法
int abs = round(num);
//打印结果
System.out.println(num +"四舍五入之后是" + abs);
}
//定义四舍五入方法,需要返回
public static int round(double num){
// /将小数乘以10后强转为int,再对10取余,能过获取到十分位(小数第一位)
int a=(int )(num*10)%10;
if(a < 5){
//如果a小于5,则四舍
return (int)num;
}else{
//如果a大于等于5,则五入
return (int)num + 1;
}
}
}
package cn.itcast.day05.作业;
public class 找出两个小数的较小值并返回 {
public static void main(String[] args) {
//调用方法
double min=getMin(13.14,5.21);
//打印结果
System.out.println("较小值是"+min);
}
public static double getMin(double a,double b){
if(a<b){
return a;
}else{
return b;
}
}
}
package cn.itcast.day05.作业;
//数字是有绝对值的,负数的绝对值是它本身取反,非负数的绝对值是它本身。请定义一个方法,方法能够得到小数类型数字的绝对值并返回。
public class 绝对值 {
public static void main(String[] args) {
double num=-13.14;
//调用方法
double abs = abs(num);
//打印结果
System.out.println(num +"的绝对值是" + abs);
}
//定义绝对值方法
public static double abs(double num){
if(num<0){
//如果数字是负数则取反
return -num;
}else{
//如果是非负数则返回本身
return num;
}
}
}
package cn.itcast.day05.作业;
import java.util.Scanner;
public class 键入n乘n的乘法表 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in );
System.out.println("请输入一个1-9之间的整数:");
int n = sc.nextInt();
method(n);
}
public static void method(int n){
System.out.println("乘法表");
for (int i = 1; i <=n; i++) {
for (int j = 1; j <=i; j++) {
System.out.print(j+"*"+i+"="+j*i+"\t");
}
System.out.println();
}
}
}
package cn.itcast.day05.作业;
import java.util.Scanner;
public class 键入n行m列的特殊符号 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in );
System.out.println("请输入行数:");
int n = sc.nextInt();
System.out.println("请输入列数:");
int m = sc.nextInt();
print(n,m);
}
public static void print(int n,int m){
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
System.out.print("@");
}
System.out.println();
}
}
}
package cn.itcast.day05.作业;
import java.util.Scanner;
public class 键入三个整数并排序 {
public static void main(String[] args) {
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//分别输入三个整数
System.out.println("请输入第一个整数:");
int a = sc.nextInt();
System.out.println("请输入第二个整数:");
int b = sc.nextInt();
System.out.println("请输入第三个整数:");
int c = sc.nextInt();
//调用方法
method(a,b,c);
}
//定义方法
public static void method(int a, int b, int c) {
//定义变量存储最大值
int max = 0;
//定义变量存储最小值
int min = 0;
//判断最大值
if(a > b && a > c ){
max = a;
}else if(b > a && b > c){
max = b;
}else{
max = c;
}
//判断最小值
if(a < b && a < c ){
min = a;
}else if(b < a && b < c){
min = b;
}else{
min = c;
}
//计算中间值
int mid = a + b + c - max - min;
//按照从大到小的顺序输出
System.out.println("从大到小的顺序是:" + max + " "+ mid + " " + min);
}
}
3.方法
package cn.itcast.day05.方法;
/*
方法:是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集
定义格式:
public static void 方法名 ( ) {
//方法体
}
调用格式:
方法名();
*/
public class 方法01无参数无返回值 {
public static void main(String[] args) {
//调用格式
famer();
cooer();
mySelf();
}
//定义格式
public static void famer (){
System.out.println("播种");
System.out.println("收割");
}
public static void cooer(){
System.out.println("做饭");
}
public static void mySelf(){
System.out.println("吃饭");
}
}
package cn.itcast.day05.方法;
//定义一个方法,求两个数的和
public class 方法02求和 {
public static void main(String[] args) {
sum();
sum1();
}
public static void sum() {
int a=10;
int b=15;
System.out.println(a+b);
}
public static void sum1(){//sum是方法名
int a =1;
int b=2;
int sum1=a+b;//sum是变量
System.out.println(sum1);
}
}
package cn.itcast.day05.方法;
/*
带参数方法的定义和调用
定义格式:
public static void 方法名(参数) { … … }
调用格式:
方法名(参数);
*/
public class 方法03有参数无返回值 {
public static void main(String[] args) {
//1,使用常量
sum(10,20);
//2,使用变量
int a=1;
int b=2;
sum(a,b);
//3,变量a,b可以改变
int i=11;
int j=22;
sum (i,j);
}
public static void sum(int a,int b){//sum是方法名
int sum=a+b;//sum 是变量
System.out.println(sum);
}
}
package cn.itcast.day05.方法;
/*
需求:
设计一个方法用于打印两个数中的较大数,数据来自于方法参数
思路:
1:定义一个方法,用于打印两个数字中的较大数,例如getMax()
2:为方法定义两个参数,用于接收两个数字
3:使用分支语句分两种情况对两个数字的大小关系进行处理
4:在main()方法中调用定义好的方法(使用常量)
5:在main()方法中调用定义好的方法(使用变量)
*/
public class 方法04打印两个数的较大数 {
public static void main(String[] args) {
//使用常量
getMax(1,2);
//使用变量
int a =10;
int b=20;
getMax(a,b);
}
public static void getMax(int a,int b){
if (a>b){
System.out.println(a);
}else{
System.out.println(b);
}
}
}
package cn.itcast.day05.方法;
/*
带返回值方法的定义和调用
定义格式:
public static 数据类型 方法名() {
return 数据;
}
调用格式:
**赋值调用
1:方法名();
2:数据类型 变量名 = 方法名();
*/
public class 方法04无参数有返回值 {
public static void main(String[] args) {
int result= sum();//相当于int result=3;
//需要将返回值输出
System.out.println(result);//将sum()赋值给result变量
System.out.println(sum());//直接输出sum()
int result1=abc1();//abc1等同于sum;int result1=4;
System.out.println(result1);
}
public static int sum(){
int a=1;
int b=2;
int c=a+b;
return c;//将得到的和c返回给调用处,调用出是int类型
}
public static int abc1(){//abc是自己定义的方法名
int i=2;
int j=2;
int k=i+j;
return k;
}
}
package cn.itcast.day05.方法;
/*
带返回值方法的定义和调用
定义格式:
public static 数据类型 方法名(参数) {
return 数据;
}
调用格式:
**赋值调用
1:方法名(参数);
2:数据类型 变量名 = 方法名(参数);
*/
public class 方法05有参数有返回值 {
public static void main(String[] args) {
int result= sum(10,20);
System.out.println(result);
}
public static int sum(int a,int b){
int sum1=a+b;
return sum1;
}
}
4.方法重载
package cn.itcast.day05.方法重载;
/*
方法重载:
多个方法在同一个类中
多个方法具有相同的方法名
多个方法的参数不相同,类型不同或者数量不同
与返回值无关
在调用的时候,Java虚拟机会通过参数的不同来区分同名的方法
*/
public class 重载01 {
public static void main(String[] args) {
byte a=10;
byte b=20;
boolean result=compare(a,b);
System.out.println(result);
boolean result01=compare(1,2);
System.out.println(result01);
}
public static boolean compare(byte a,byte b){
System.out.println("byte");
return a==b;
}
public static boolean compare(short a,short b){
System.out.println("short");
return a==b;
}
public static boolean compare(int a,int b){
System.out.println("int");
return a==b;
}
public static boolean compare(long a,long b){
System.out.println("long");
return a==b;
}
}