1. 具有返回值类型的方法的使用!
定义有具体返回值类型的方法的定义的注意事项:
1)方法和方法平级关系,不能嵌套使用!
特殊:方法递归(IO流后面讲):方法调用方法本身的一种现象!
2)定义方法注意两个明确
明确返回值类型
明确参数类型以及参数个数
3)定义方法的时候:
参数类型必须携带的!
public static int add(x,y){} 错误的:
因为Java是一种强类型语言:语法非常严谨的,以及格式是有要求的!
4)定义方法的时候,()后面不要出现; (目前来说没意义的方法!)
5)调用方法的时候,实际参数不需要携带数据类型
class Demo{
public static void main(String[] args){
int x = 10 ;
int y = 20 ;
int result = add(x,y) ;
System.out.println("两个数据之和是:"+result);
}
public static int add(int x,int y){
return x + y ;
}
}
2.没有具体返回值类型的方法定义以及调用
方法定义:
public static 返回值类型 方法名(形式参数列表(包含数据类型+变量名)...){
要么 return 结果;
要么没有具体结果;
}
Java的语法:
方法本身的定义:需要返回值类型,但是如果需求本身就没有具体返回结果,如何定义方法呢?
语法要求:如果没有具体返回值结果,使用void 来代替 返回值类型(位置)
注意:Java中不存在void类型(替代词)
没有具体返回值类型的方法的定义格式:
public static void 方法名(形式参数类型1 变量名1,形式参数类型2 变量名2...){
直接输出语句或者其他业务操作;
}
没有具体返回值类型的方法调用
单独调用
赋值调用
输出调用
class Demo{
public static void main(String[] args){
for(int x = 0 ; x < 4 ; x ++){
for(int y = 0 ; y < 5 ; y ++){
System.out.print("*") ;
}
System.out.println() ;
}
System.out.println("---------------------") ;
printStar(5,6) ;
System.out.println("---------------------") ;
printStar(9,9) ;
}
public static void printStar(int m,int n){
for(int x = 0 ; x < m; x ++){
for(int y = 0 ; y < n ; y ++){
System.out.print("*") ;
}
System.out.println() ;
}
}
}
3.没有有返回值类型的方法的使用
import java.util.Scanner ;
class Demo{
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 max = getMax(a,b) ;
System.out.println("两个数据中的最大值是:"+max) ;
System.out.println("-------------------------------") ;
System.out.println("请输入第一个数据:") ;
int firstNum = sc.nextInt();
System.out.println("请输入第二个数据:") ;
int secNum = sc.nextInt();
boolean flag = compare(firstNum,secNum) ;
System.out.println("flag:"+flag) ;
}
public static boolean compare(int a,int b){
return (a==b)? true: false ;
}
public static int getMax(int a,int b){
return (a > b) ? a: b ;
}
public static int getMax2(int a,int b){
int max ;
if(a> b){
max = a ;
}else{
max = b ;
}
return max ;
}
}
4.数组定义
数组:是可以存储元素的一种容器!
前提:元素的数据类型必须一致的!
如何定义呢?
格式:
数据类型[] 数组名称 ;
数据类型 数组名称[] ;
举例:
int[] arr; (习惯于第一种) 定义了一个int类型数组arr变量
int arr[] ;定义了一个int类型的arr数组
数组的初始化:
1)动态初始化:指定了数组长度,系统默认给定数组的元素值!
2)静态初始化:指定了具体的元素的内容,系统默认指定数组的长度!
动态初始化:
数据类型[] 数组名称 = new 数据类型[数组长度] ;
数据类型 数组名称[] = new 数据类型[数组长度] ;
举例:
int[] arr = new int[3] ;
int arr[] = new int[2] ;
数组中元素的的访问方式:
数组名称[角标]来访问
角标(下标/索引):都是从0开始记录元素的!
class Demo{
public static void main(String[] args){
int[] arr = new int[3] ;
System.out.println(arr) ;
System.out.println(arr[0]) ;
System.out.println(arr[1]) ;
System.out.println(arr[2]) ;
System.out.println("----------------------") ;
arr[0] = 100 ;
arr[1] = 50 ;
System.out.println(arr) ;
System.out.println(arr[0]) ;
System.out.println(arr[1]) ;
System.out.println(arr[2]) ;
}
}
5.数组的静态初始化
数组的静态初始化 :指定数组的元素内容,系统给它默认长度
格式:
标准格式:
数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,元素3....} ;
数据类型 数组名称[] = new 数据类型[]{元素1,元素2,元素3....} ;
举例:
int[] arr = new int[]{11,22,33} ;
简化格式:
数据类型[] 数组名称 ={元素1,元素2,元素3....} ;
数据类型 数组名称[] ={元素1,元素2,元素3....} ;
class Demo{
public static void main(String[] args){
int[] arr = {11,22,33,44,55} ;
System.out.println(arr) ;
System.out.println(arr[3]) ;
System.out.println(arr[0]) ;
}
}
6.数组中出现的异常
异常: 后期Throwable:异常的总称
程序出问题了!
严重问题:
error : 内存异常了 (通过一些第三方工具避免了!)
举例: 一些软件通过一些特殊的操作:造成软件崩溃了!
异常:
Exception: 能够通过本身代码来解决问题
编译时期异常:只要不是运行时期的异常都属于编译时期(不解决,编译通过不了)
RuntimeExcetion:运行时期异常
在执行过程中,由于代码结构不严谨,导致的问题!
第一个异常:数组角标越界!
java.lang.ArrayIndexOutOfBoundsException:
出现的原因:访问不存在的角标!就出异常了
解决方案:改动角标值即可!
第二个异常:空指针异常:
java.lang.NullPointerException:
出现的原因:
某个对象都为null,还需要使用对象访问内容或者调用其他功能!
解决方案:
只需要对某个对象做一个非空判断!(逻辑判断)
class ArrayDemo5{
public static void main(String[] args){
int[] arr = {1,2,3} ;
System.out.println(arr) ;
System.out.println(arr[0]) ;
System.out.println(arr[1]) ;
System.out.println(arr[2]) ;
System.out.println("------------------") ;
arr = null ;
if(arr!=null){
System.out.println(arr[0]) ;
}else{
System.out.println("数组对象为null了...") ;
}
}
}
7.数组的遍历
class Demo{
public static void main(String[] args){
int[] arr = {11,22,33,44,55} ;
System.out.println(arr[0]) ;
System.out.println(arr[1]) ;
System.out.println(arr[2]) ;
System.out.println(arr[3]) ;
System.out.println(arr[4]) ;
System.out.println("------------------------------") ;
printArray(arr) ;
}
public static void printArray(int[] arr){
System.out.print("{") ;
for(int x = 0 ; x < arr.length ; x ++){
if(x == arr.length -1){
System.out.println(arr[x] +"}") ;
}else{
System.out.print(arr[x] +", ") ;
}
}
}
}
转载请注明原文地址:https://blackberry.8miu.com/read-41586.html