首页 > 编程语言 >java--基本类型值传递,和引用类型String,数组的区别

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

时间:2022-10-08 13:59:43浏览次数:47  
标签:java String -- System num println public out

//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

标签:java,String,--,System,num,println,public,out
From: https://www.cnblogs.com/wang1999an/p/16768676.html

相关文章

  • Java_内部类&API
    Java_内部类&API1.参数传递1.1类名作为形参和返回值(应用)1、类名作为方法的形参方法的形参是类名,其实需要的是该类的对象实际传递的是该对象的【地址值】2、类......
  • String常用方法
    方法含义byte[]getBytes(Charsetcharset)使用给定的charset将此String编码到byte序列,并将结果存储到新的byte数组String[]split(Strin......
  • Java_常用API&异常
    Java_常用API&异常1.包装类1.1基本类型包装类(记忆)基本类型包装类的作用将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据常用的操作之......
  • apache-common pool的使用
    介绍Apachecommons-pool本质上是"对象池",即通过一定的规则来维护对象集合的容器;commos-pool在很多场景中,用来实现连接池和任务worker池等,大家常用的dbcp数据库连接池......
  • Java_File&递归&字节流
    Java_File&递归&字节流1.File类1.1File类概述和构造方法【应用】File类介绍它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File......
  • 学习周结
    本周课外任务完成情况:1、《动手学深度学习》\(\qquad\)完成了本书最后一章节的学习,重点关注了10.12的机器翻译这一实例。因为这个例子融合了这个章节的大部分内容:词嵌入......
  • druid-spring-boot-starter整合hive与hadoop的排除类
    hive-jdbc和jetty冲突,所以在hive-jdbc中对jetty进行排除就OK<exclusions> <exclusion> <groupId>org.eclipse.jetty.aggregate</groupId> <artifactId>*</artifactI......
  • 字符串及正则表达式
    str1='马走日'str2=','str3='象走田'str4=','str5='车走直线炮翻山'str6='士走斜线护将边'str7='小卒一去不复还'str8='。'print("象棋口诀"+':')......
  • mysql使用group by分类统计几万条以上数据处理
    mysql如果groupby分类统计几万条以上数据太慢,因为条件查询会走全表搜索使用explain 可以看到自己的sql效率问题出现在哪,如:它查了7万多条数据才把结果查出来   sq......
  • Unrecognized Hadoop major version number: 3.0.0 版本冲突解决
    hive与hadoop的兼容性问题1.问题出现工作需要,在本地安装hive进行相关测试工作,版本选的是hadoop-3.0.0,hive-2.1.1。这个版本是按照CDH集群版本配的,本来以为没有冲突#......