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).公式是 ...
随机推荐
- SVN 服务器 配置
1.目录结构 2.用户分配 3.目录权限 4.linux下的SVN服务器 5.配置svnserver.conf 注意左边不要有空格 注意文件的权限 chmod -R 777 /opt/svn/blue ...
- 【Adobe Air程序开发】eclipse安装flash builder 4.7插件以及java、flex整合开发
看了看网上不少文章,发现很多内容都是很老的,没法用.故把自己的安装过程记录下来,方便以后使用 1.在这里,eclipse使用最新版eclipse juno 3.7 2.在adobe官网https:// ...
- 使用logstash迁移elasticsearch数据
支持同集群复制和跨集群复制 优点:通过简单配置即可实现.零编码. 缺点:logstash 单点运行迁移,速度一般. 以es2.2.1 logstash2.2.1 为例 以下logstash 配置功能 ...
- js放到head中失效的原因与解决方法
1.今天写js碰到一个奇怪的问题,写好的js放到body里面执行,但是放到head中没有任何效果,为什么导致这种原因呢? 看失效代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
- Mac下安装SecureCRT客户端并激活
1. 先下载SecureCRT和破解文件 默认下载到了当前用户的”下载”目录中 2. 在”Finder”中 打开 “scrt-7.3.0-657.osx_x64.dmg” 并将 SecureCRT复制 ...
- redis db0-15 的概念
redis默认有db0~db15之多. redis有没有什么方法使不同的应用程序数据彼此分开同时又存储在相同的实例上呢?就相当于mysql数据库,不同的应用程序数据存储在不同的数据库下. redis下 ...
- MySQL优化——索引
内容来自:https://yq.aliyun.com/articles/214494?utm_content=m_31338 对此我们来详细分析下(也就是大家在面试时需要说的): 场景一,数据表规模不 ...
- oracle:archiver error. Connect internal only, until freed 原因以及错误的处理方法
今天小编遇到这个数据原因,通过查找资料解决了,问题原因就是数据默认存储日志的文件夹满了 1.首先通过cmd命令窗口连接超级管理员,sqlplus / as sysdba; 2.查询db_recover ...
- 什么是负载均衡SLB
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务.负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性. 请看视频简介 ...
- python 初始化__init__()
init()方法的重要性体现在两点. 1.初始化既是对象生命周期的开始,也是非常重要的一个步骤,每个对象都必须正确的执行了初始化才能够正常的工作 2.__init__()方法的参数可以多种形式来完成赋 ...