Java语言基础(9)
1 方法(二)
1) 不带参数没有返回值的方法:
案例:Demo1
public class Demo1 {
static void show(){
System.out.println("努力学习");
System.out.println("努力工作");
System.out.println("努力赚钱!");
}
public static void main(String[] args) {
System.out.println("调用show()方法之前");
show();
System.out.println("调用show()方法之后");
}
} import java.util.Scanner;
public class Demo2 {
//编写一个没有返回值没有参数的方法add(),在add()中
//创建一个Scanner对象,从控制台输入任意的两个整数,
//执行加法运算,并输出运算的结果。
//在main方法中,调用add()方法。
static void add(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入第1个整数:");
int num1 = sc.nextInt();
System.out.println("请输入第2个整数:");
int num2 = sc.nextInt();
int sum = num1 + num2;
System.out.println("sum="+sum);
}
public static void main(String[] args) {
add();
}
} public class Demo3 {
//编写一个没有参数没有返回值的方法f1(),在f1()方法中
//分别求出100~1000之间所有奇数累加之和和所有的偶数
//的累加之和,并分别输出。
//在main方法中,调用f1()方法。
static void f1(){
int sum1=0,sum2=0;
//sum1保存奇数累加之和,sum2保存偶数累加之和。
for(int i=100;i<=1000;i++){
if(i%2!=0){//奇数
sum1 = sum1+i;
}else{//i%2==0 偶数
sum2 = sum2+i;
}
}
System.out.println("奇数累加之和:"+sum1);
System.out.println("偶数累加之和:"+sum2);
}
public static void main(String[] args) {
f1();
}
} public class Demo4 {
//编写一个没有返回值没有参数的方法f1(),在f1()方法
//中,求出公元1~2016之间所有的闰年并输出
//在main方法中,调用f1()
static void f1(){
for(int i=1;i<=2016;i++){
if((i%4==0&&i%100!=0)||i%400==0){
System.out.println(i+"是闰年");
}
}
}
public static void main(String[] args) {
f1();
}
} import java.util.Scanner;
public class Demo5 {
static void showYear(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入年份:");
int year = sc.nextInt();
if(year>=1){
for(int i=1;i<=year;i++){
if((i%4==0&&i%100!=0)||i%400==0){
System.out.println(i+"是闰年");
}else{
System.out.println(i+"不是闰年");
}
}
}else{//year<1
System.out.println("输入错误");
}
}
public static void main(String[] args) {
showYear();
}
}
2) return:终止方法继续往下执行;return后面跟方法的返回值。当方法调用结束以后,通过return,把结果返回到调用的位置。
3) 不带参数带返回值的方法:
eg:
static int add(){
int num1=100,num2=200;
int sum = num1+num2;
return sum;
}
main(){
int result = add();
System.out.println("result="+result);
}
4) 带返回值的方法中声明的返回值类型,跟return后面的返回值的类型一致。最好能定义一个变量来接收返回的结果。
案例:Demo6
public class Demo6 {
//return: 终止方法继续往下执行;return的后面跟方法
//最终返回的结果。
//带返回的方法要求声明的返回值类型跟return后面的返回
//值的类型一致。最好能定义一个变量来接收返回的结果。
static int add(){
int num1=100,num2=200;
int sum = num1+num2;
return sum;
}
public static void main(String[] args) {
int result = add();
System.out.println("result="+result);
}
} import java.util.Scanner;
public class Demo7 {
//编写一个没有参数带int类型返回值的方法sub()方法,
//在sub()方法中,创建一个Scanner对象,从控制台
//输入任意的两个整数,执行减法运算,并返回最终运算
//的结果,返回到调用的位置
//在main方法中,调用sub()方法,并输出返回的结果。
static int sub(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入第1个整数:");
int num1 = sc.nextInt();
System.out.println("请输入第2个整数:");
int num2 = sc.nextInt();
int result = num1-num2;
return result;
}
public static void main(String[] args) {
int result = sub();
System.out.println("result="+result);
}
} public class Demo8 {
//编写一个带int类型返回值没有参数的方法f1(),在f1()
//求出1~200之间所有的偶数累加之和并返回到调用的位置
//在main()方法中,调用f1(),并显示运算的结果。
static int f1(){
int sum = 0;
for(int i=1;i<=200;i++){
if(i%2==0){
sum = sum + i;
}
}
return sum;
}
public static void main(String[] args) {
int result = f1();
System.out.println(result);
}
} import java.util.Scanner;
public class Demo9 {
//编写一个没有参数带一个int类型返回值的方法max(),
//在max()方法中,从控制台输入任意的两个整数,求出
//较大的整数的值,并返回到调用的位置。
//在main方法中,调用max()方法,并输出返回的结果。
static int max(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入第1个整数:");
int num1 = sc.nextInt();
System.out.println("请输入第2个整数:");
int num2 = sc.nextInt();
// 方法3
if(num1>=num2){
return num1;
}else{//num1<num2
return num2;
} /* 方法2
int max=0;
if(num1>=num2){
max = num1;
}else{//num1<num2
max = num2;
}
return max;
方法1
int max = num1>=num2 ? num1 : num2;
return max;
*/
}
public static void main(String[] args) {
int result = max();
System.out.println("较大的整数是"+result);
}
} import java.util.Scanner;
public class Demo10 {
static int f1(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = sc.nextInt();
if(num>=1){
int sum = 0;
for(int i=1;i<=num;i=i+2){//奇数
sum = sum + i;
}
return sum;
}else{//num<1
System.out.println("输入错误");
return 0;
}
}
public static void main(String[] args) {
int result = f1();
System.out.println(result);
}
}
5) 方法中的参数:
a) 形参(形式参数):当方法被调用的时候,系统会临时为形参开辟存储空间,用来接收外界传入的数据,参与方法的执行,当方法执行结束以后,释放形参的存储空间(形参不存在了)。
b) 实参:当方法被调用的时候,把实参的值传递到形参中。
static void add(int num1,int num2){//形参
int sum = num1 + num2;
System.out.println("sum = "+sum);
}
main(){
int a=100,b=200;
add(a,b);//实参
}
实参和形参是一一对应的,把实参的值传递到形参中。
案例:Demo11
public class Demo11 {
//形参(形式参数):当方法被调用的时候,为形参临时的
//开辟存储空间,用来接收外界传入的数据,参与方法的
//执行,当方法执行结束以后,释放形参的存储空间。
//实参:当方法被调用的时候,把实参的值传递到形参中。
//实参和形参必须是一一对应的。
static void add(int num1,int num2){//形参
int sum = num1 + num2;
System.out.println("sum = "+sum);
}
public static void main(String[] args) {
int a = 300, b = 900;
add(a,b);//实参
}
} import java.util.Scanner; public class Demo12 {
//编写一个没有返回值带两个int类型参数的方法add(),
//void add(int num1,int num2):执行加法运算,
//并输入运算的结果
//在main方法中,创建一个Scanner对象,从控制台输入
//任意的两个整数作为实参,调用add()方法。
static void add(int num1,int num2){//形参
int sum = num1 + num2;
System.out.println("sum = "+sum);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第1个整数:");
int num1 = sc.nextInt();
System.out.println("请输入第2个整数:");
int num2 = sc.nextInt();
add(num1,num2);//实参
}
} import java.util.Scanner; public class Demo13 {
static void f1(int num1){
if(num1>=1){
int sum1=0,sum2=0;//sum1保存奇数累加之和;sum2保存偶数累加之和。
for(int i=1;i<=num1;i++){
if(i%2!=0){//奇数
sum1 = sum1 + i;
}else{//偶数
sum2 = sum2 + i;
}
}
System.out.println("奇数累加之和"+sum1);
System.out.println("偶数累加之和"+sum2);
}else{//num1<1
System.out.println("输入错误");
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数:");
int num = sc.nextInt();
f1(num);
}
}
6)Java中永远是值的传递,把实参中的值传递到形参中,对形参的任何修改对实参没有影响。
案例:Demo14
public class Demo14 {
static void updateNum(int num){//形参
num = 2000;
System.out.println("形参num="+num);
}
public static void main(String[] args) {
int num = 100;
System.out.println("调用updateNum()" +
"方法之前,实参num="+num);
updateNum(num);//实参
System.out.println("调用updateNum()" +
"方法之后,实参num="+num);
//在Java中,永远是值的传递。当方法调用的时候,把实参
//的值传递到形参中,对形参任何修改,对实参没有影响。
//所以实参num在调用updateNum()方法之前是100,调用
//了updateNum(num)方法以后,实参num的值还是100。
//形参的修改对实参没有影响。
}
}
7)带返回值带参数的方法
eg:
static int add(int num1,int num2){//形参
int sum = num1 + num2;
return sum;
}
main(){
int num1=100,num2=200;
int result = add(num1,num2);//实参
System.out.println("result="+result);
}
案例:Demo15
import java.util.Scanner;
public class Demo15 {
static int add(int num1,int num2){
int sum = num1 + num2;
return sum;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第1个整数:");
int num1 = sc.nextInt();
System.out.println("请输入第2个整数:");
int num2 = sc.nextInt();
int result = add(num1,num2);
System.out.println("result="+result);
}
} import java.util.Scanner; public class Demo16 {
//编写一个带int类型返回值带两个int类型参数的方法
//sub(),int sub(int a,int b),在sub方法中,
//执行减法运算,并返回运算的结果。
//在main方法中,从控制台输入任意的两个整数作为实参,
//调用sub()方法,并输出返回的结果。
static int sub(int a,int b){
int result = a-b;
return result;
}
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();
int result = sub(a,b);
System.out.println("result="+result);
}
}
Java语言基础(9)的更多相关文章
- Java学习总结(二)----Java语言基础
1. Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...
- java语言基础02
一.Java语言基础(常量的概述和使用)(掌握) 1:什么是常量 就是在程序的执行过程中其值不发生改变的量. 2:Java中常量的分类 (1):字面值常量 (2):自定义常量(面向对象部分讲解) 3: ...
- Java之--Java语言基础组成—数组
Java语言基础组成-数组 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的数组,数组 ...
- Java之--Java语言基础组成—函数
Java语言基础组成-函数 Java语言由8个模块构成,分别为:关键字.标识符(包名.类名.接口名.常量名.变量名等).注释.常量和变量.运算符.语句.函数.数组. 本片主要介绍Java中的函数,函数 ...
- Java之--Java语言基础组成(关键字、标识符、注释、常量和变量、运算符)
Java语言基础组成-关键字.标识符.注释.常量和变量.运算符 Java语言由8个模块构成,分别为:1.关键字:2.标识符(包名.类名.接口名.常量名.变量名等):3.注释:4.常量和变量:5.运算符 ...
- Java语言基础(二) Java关键字
Java语言基础(二) Java关键字 Java关键字比较多,我就不列举出来了,只记录一些常用的小知识点: ①Java的关键字只有小写. ②then.sizeof都不是Java的关键字,熟悉C++的程 ...
- Java语言基础(九)
Java语言基础(九) 一.自增运算(++) 自减运算(--) i++ 就是将i+1再赋给 i i-- 是将i-1再赋给 i 对变量i,j来说,i++ 或++i 这里没什么区别,都是将i的值加1后,再 ...
- Java语言基础(八)
Java语言基础(八) 一.数学运算 + - * / % (1)凡是byte short char类型都按int类型的计算 看看上面的代码,为什么出错! 我已经将100转成byte类型,( ...
- Java语言基础(七)
Java语言基础(七) 今天在公司多呆了会,回来晚了 一.自动类型转换 在Java中,数据是可以转换的 例如可以将byte类型的赋给int类型的 这里希望你了解内存的变化,例如 在这里,我想你应该知 ...
- Java语言基础(六)
Java语言基础(六) 前一章提到的, BigDecimal, DecimalFormat等具体用法,这里就不在说了,网上有许多 一.下面让我们看一个例子(自由落体运动位移) 说明: (1).公式是 ...
随机推荐
- 20190526 - CentOS 7 中 安装 MySQL 8 并授权 root 远程访问
1. CentOS 7 中 安装 MySQL 8 CentOS 7 中内置 MariaDB 建议升级一下用,性能好很多.但如果一定要用 MySQL 8,就得自己装. 坦白的说,Oracle 升级 My ...
- strcpy函数内存分析
void strcpy(char* strDest, char* strSrc) { while((*strDest++ = *strSrc++) != '\0'); } 看上面这段代码,只有一条语句 ...
- echarts图例的位置及大小,环图中间字
https://blog.csdn.net/qq_34790644/article/details/89308738 Echarts饼状图属性设置大全 https://blog.csdn.net/sl ...
- ./configure配置的参数 交叉编译 host,build target的含义
交叉编译 host,build target的含义:build就是你正在使用的机器,host就是你编译好的程序可以运行的平台,target就是你编译的程序可以处理的平台.这个 build和host比较 ...
- SqlException 服务器主体无法在当前安全上下文下访问数据库
遇到一个错误如下 System.Data.SqlClient.SqlException HResult=0x80131904 Message=服务器主体 "用户名" 无法在当前 ...
- BigData进阶--Spark中的函数与符号
转自:https://blog.csdn.net/YSC1123/article/details/78905090 1.Character.isDigit() 判断是否为数字 2.Character. ...
- mybatis-plus 错误 java.lang.NoClassDefFoundError
错误 java.lang.NoClassDefFoundError: org/apache/velocity/context/Context 使用mybatis-plus自动生成文件的时候,报下面的错 ...
- Yii2.0 queue
https://www.yiichina.com/tutorial/1635 https://my.oschina.net/gcdong/blog/3031113 https://www.yii-ch ...
- day03-04
光驱 历史的东西 远程管理卡 它的作用是通过网络远程(异地)开关服务器,并可以查看服务器开关的过程等信息,早期(2010年以前),服务器托管在IDC机房,出问题,还得跑机房或者请机房的人管理,有了 ...
- http请求之of_ordering_json
//Public function of_ordering_json (string as_json,ref string as_jsons[]) returns integer //string a ...