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).公式是 ...
随机推荐
- vue自定义过滤器的创建与使用
原文地址 过滤器:生活中有很多例子,净水器 空气净化器 .过滤器的作用:实现数据的筛选.过滤.格式化. vue1.*版本是有内置的过滤器,但是在vue2.*所有的版本都已经没有自带的过滤器了. 1.过 ...
- python基础学习19,01
听说python入门很容易,所以想试试对我这个零基础会不会很友好呢.做随笔也顺便督促自己不要轻易放弃学习. #登录接口 print("请输入用户名密码") _username = ...
- POSTGRESQL日期函数大全
一:各个数据中的连接符 SqlServer的连接符:+(加号) Sqlite的连接符:.(点) PostgreSQL的连接符:||(或) 二: 今天在PostgreSQL计算日期的时候,翻了一些资料, ...
- 第k大异或值
这道题与2018年十二省联考中的异或粽子很相像,可以算作一个简易版: 因为这不需要可持久化: 也就是说求任意两个数异或起来的第k大值: 首先把所有数放进trie里. 然后二分答案,枚举每个数,相应地在 ...
- 接口踩坑:Status (blocked:other)
1.请求接口时出现 Status (blocked:other) 2.原因分析:安装了Adblock 3.解决办法 1)关掉Adblock2)修改接口名称,不能用 ad 或者 XX ad XX 等名称 ...
- 从入门到自闭之Python--Redis
什么是Redis Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库.Redis全称为:Remote Dictionary Server ...
- 搞懂Dubbo服务发布与服务注册
一.前言 本文讲服务发布与服务注册,服务提供者本地发布服务,然后向注册中心注册服务,将服务实现类以服务接口的形式提供出去,以便服务消费者从注册中心查阅并调用服务. 本文源码分析基于org.apache ...
- nop4.1学习ServiceCollectionExtensions(二)(ioc,ef,ef连接的实现)
这个是获取程序路径,并初始化文件管理类 初始化插件管理 接下来就是注册服务和autoafc 在INopStartup配置sql连接,插件,mvc等 配置了sql连接 数据库的配置类 在AddAutoM ...
- C#进阶之WebAPI(二)
今天学习一下:WebAPI如何使用呢? 首先我们打开vs新建一个WebAPI项目,可以看到一共有这些文件夹目录 首先了解一下这些文件夹/文件的意义(按照程序启动的流程,相关的配置项就不说了), Glo ...
- (一)初识JavaFX
JavaFX是一个强大的图形和多媒体处理工具包集合,它允许开发者来设计.创建.测试.调试和部署富客户端程序,并且和Java一样跨平台. JavaFX应用程序 由于JavaFX库被写成了Java API ...