java--基本类型值传递,和引用类型String,数组的区别

//java语言:值传递

//数据类型:基本类型:4种8类,参数传递:值传递

//引用类型:String 数组等,传递的是内存地址值,但String值不会改变,

相当于常量池的数据重新给它赋值 //参数类型是字面量类型

,那你就认为他传递的是数据 //参数是引用类型传递的是内存地址值

1.有参无返回值方法,以及参数传递

public class MoniDl {
  public static void main(String[] args) {
      System.out.println("----------main开始---------------");
      Scanner input = new Scanner(System.in);
      System.out.println("请录入用户名");
      String name = input.next();
      System.out.println("请录入密码");
      String password = input.next();
      userLogin(name,password);
      System.out.println("----------main结束---------------");
      input.close();
  }
  //模拟文件上传
  public static void fileUpload(String sourceFilePath){
      if(sourceFilePath == null){
          System.out.println("参数不能为空");
          return;
      }
      System.out.println("success");
  //执行文件的赋值
  }
  public static void userLogin(String userName,String passWord){
      //预判断
      if(userName == null || passWord == null){
          System.out.println("用户名或密码不能为空");
          return;
      }
      String tureName = "admin";
      String turePass = "1234";
//       if(!username.equals(tureName)|| !password.equals(turePass)){
//       }加了与判断可以这么用,但最好用下面的
      if(!tureName.equals(userName)|| !turePass.equals(passWord)){
          System.out.println("用户名或密码错误");
          return;
      }
      System.out.println("登陆成功");
  }
}

1.基本类型值传递

package learnday4;
//java语言:值传递
//数据类型:基本类型:4种8类,参数传递:值传递
//引用类型:String 数组等,传递的是内存地址值,但String值不会改变,
相当于常量池的数据重新给它赋值
//参数类型是字面量类型,那你就认为他传递的是数据
//参数是引用类型传递的是内存地址值
public class Demo02 {
  public static void main(String[] args) {
      int num = 10;
      demo(num);
      System.out.println("-----------main---num"+num);
  }
  public static void demo(int num){
      System.out.println("demo-----------------num:"+num);
      num = 200;
      System.out.println("demo---------修改后-----num:"+num);
  }
}
//demo-----------------num:10
//demo---------修改后-----num:200
//-----------main---num10

引用类型:数组

package learnday4;
import java.util.Arrays;
public class Demo03 {
  public static void main(String[] args) {
  int[] array = {1,2,3};
      System.out.println("main-----"+Arrays.toString(array));
  demo(array);
  }
  public static void demo(int[] array){
      //提前预判,避免不正常的现象
      if(array==null){
          System.out.println("参数不能为null");
          return;
      }
      int length = array.length;
      if(length==0){
          System.out.println("数组长度为0");
      }
      System.out.println("demo------------修改前"+ Arrays.toString(array));
      array[0] = 100;
      System.out.println("demo------------修改后"+ Arrays.toString(array));

  }
}
//main-----[1, 2, 3]
//demo------------修改前[1, 2, 3]
//demo------------修改后[100, 2, 3]

引用类型String

package learnday4;

import java.util.Arrays;

/**
* @author: Wang
* @className: Demo04
* @description:
* @date: 2022/10/8 13:19
* @version: 0.1
* @since: 1.8
*/
public class Demo04 {
  public static void main(String[] args) {
      String str = "abc";
      demo1(str);
      System.out.println("-----------main---"+str);
  }
  public static void demo1(String str){
      System.out.println("demo1-----------------str:"+str);
      str = "hello";
      System.out.println("demo1---------修改后-----:"+str);
  }
}
//demo1-----------------str:abc
//demo1---------修改后-----num:hello
//-----------main---abc
posted @ 2022-10-08 13:35  学JAVA的旅行者  阅读(63)  评论(0)    收藏  举报