当前位置: 首页 > news >正文

平台网站建设方案书手机软件制作和做网站相同

平台网站建设方案书,手机软件制作和做网站相同,产品设计出来干什么工作,7免费网站建站目录 输入输出输出到控制台从键盘输入使用 Scanner 读取字符串/整数/浮点数使用 Scanner 循环读取 猜数字方法方法定义方法调用的执行过程实参和形参的关系(重要)方法重载 数组数组的创建数组的初始化动态初始化静态初始化 数组的使用元素访问遍历数组 数组是引用类型null数组应… 目录 输入输出输出到控制台从键盘输入使用 Scanner 读取字符串/整数/浮点数使用 Scanner 循环读取 猜数字方法方法定义方法调用的执行过程实参和形参的关系(重要)方法重载 数组数组的创建数组的初始化动态初始化静态初始化 数组的使用元素访问遍历数组 数组是引用类型null数组应用数组转字符串数组拷贝二维数组 输入输出 输出到控制台 基本语法: System.out.println(msg); // 输出一个字符串, 带换行 System.out.print(msg); // 输出一个字符串, 不带换行 System.out.printf(format, msg); // 格式化输出 栗子: public static void main(String[] args) {System.out.println(2);System.out.print(2);System.out.printf(%d,2);}转换符 类型 d 十进制整数 x 十六进制整数 o 八进制整数 f 定点浮点数 e 指数浮点数 g 通用浮点数 a 十六进制浮点数 s 字符串 c 字符 b 布尔值 h 散列码 % 百分号 从键盘输入 使用 Scanner 读取字符串/整数/浮点数 public static void main(String[] args) {Scanner Bu new Scanner(System.in);System.out.println(输入字符串);String a Bu.nextLine();System.out.println(a);System.out.println(输入整数);int b Bu.nextInt();System.out.println(b);System.out.println(输入小数);double c Bu.nextDouble();System.out.println(c);}如上,此处代码可正常运行,但是如果调换顺序的话如何捏 public static void main(String[] args) {Scanner Bu new Scanner(System.in);System.out.println(输入整数);int b Bu.nextInt();System.out.println(b);System.out.println(输入字符串);String a Bu.nextLine();System.out.println(a);System.out.println(输入小数);double c Bu.nextDouble();System.out.println(c);}类似这样,我们运行会发现字符串根本没有输入,直接跳过,进行下一步操作 问题在于当你在执行 nextInt() 之后按下 Enter 键时输入缓冲区中仍然留有一个换行符\n。这会导致在接下来读取字符串时nextLine() 会读取到这个换行符并且不会等待用户输入直接跳过了等待输入字符串的步骤。 为了解决这个问题你可以在读取整数后添加一个额外的 Bu.nextLine() 来消耗掉那个换行符然后才读取字符串。 修改如下: public static void main(String[] args) {Scanner Bu new Scanner(System.in);System.out.println(输入整数);int b Bu.nextInt();System.out.println(b);Bu.nextLine();System.out.println(输入字符串);String a Bu.nextLine();System.out.println(a);System.out.println(输入小数);double c Bu.nextDouble();System.out.println(c);}使用 Scanner 循环读取 public static void main(String[] args) {Scanner con new Scanner(System.in);while(con.hasNextInt()){System.out.println(con.nextInt());}}持续地读取输入流中的整数直到输入流结束或者遇到非整数输入为止 猜数字 public static void main(String[] args) {//生成随机数Random rondom new Random();Scanner scanner new Scanner(System.in);int rand rondom.nextInt(100);System.out.println(输入数字);while(true) {int bear scanner.nextInt();if(bearrand) {System.out.println(大了);} else if(bearrand) {System.out.println(对了);break;} else {System.out.println(小了);}}}方法 方法类似于c语言中的函数 方法定义 修饰符 返回值类型 方法名称(参数类型 形参...){方法体代码;[return 返回值]; }注意: 1.修饰符:现阶段直接使用public static固定搭配 2. 返回值类型: 如果方法有返回值返回值类型必须要与返回的实体类型一致如果没有返回值必须写成void 3.方法命名: 采用小驼峰命名 3. 参数列表如果方法没有参数()中什么都不写如果有参数需指定参数类型多个参数之间使用逗号隔开 4. 方法体方法内部要执行的语句 5. 在java当中方法必须写在类当中 6. 在java当中方法不能嵌套定义 7. 在java当中没有方法声明一说 方法调用的执行过程 调用方法—传递参数—找到方法地址—执行被调方法的方法体—被调方法结束返回—回到主调方法继续往下执行 实参和形参的关系(重要) Java中方法的形参就相当于sum函数中的自变量n用来接收sum函数在调用时传递的值的。形参的名字可以随意 取对方法都没有任何影响形参只是方法在定义时需要借助的一个变量用来保存方法在调用时传递过来的值。 在Java中实参的值永远都是拷贝到形参中形参和实参本质是两个实体 注意对于基础类型来说, 形参相当于实参的拷贝. 即 传值调用 方法重载 类似于c的函数重载 在Java中如果多个方法的名字相同参数列表不同则称该几种方法被重载了 注意: 1. 方法名必须相同 2. 参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不同) 3. 与返回值类型是否相同无关 4. 注意: 方法签名经过编译器编译修改过之后方法最终的名字。具体方式方法全路径名参数列表返回值类型构成方法完整的名字。 数组 数组的创建 int[] arr new int[10];元素类型[] 数组名 new 元素类型[长度] 数组的初始化 数组的初始化主要分为动态初始化以及静态初始化。 动态初始化 在创建数组时直接指定数组中元素的个数 int[] arr new int[10];静态初始化 在创建数组时不直接指定数据元素个数而直接将具体的数据内容进行指定 int[] arr2 new int[]{1,2,3};可以省略后面的new int[] int[] arr2 {1,2,3};注意: 定义和初始化分成两步 int[] arr1;arr1 new int[10];int[] arr2;arr2 new int[]{1,2,3};注意: int[] arr2 {1,2,3};省略格式不能分成两步 未对数组初始化,数组元素有默认值 类型 默认值 byte 0 short 0 int 0 long 0 float 0.0f double 0.0 char /u0000 boolean false 如果数组中存储元素类型为引用类型默认值为null 数组的使用 元素访问 数组在内存中是一段连续的空间空间的编号都是从0开始的依次递增该编号称为数组的下标数组可以通过下标访问其任意位置的元素。 int[] arr {1,2,3};System.out.println(arr[0]);System.out.println(arr[1]);System.out.println(arr[2]);//修改arr[0] 100;System.out.println(arr[0]);遍历数组 所谓 “遍历” 是指将数组中的所有元素都访问一遍, 访问是指对数组中的元素进行某种操作 注意在数组中可以通过 数组对象.length 来获取数组的长度 循环遍历 for (int i 0; i arr.length; i) {System.out.println(arr[i]);}使用 for-each 遍历数组 for (int x:arr) {System.out.println(x);}数组是引用类型 int[] arr1 {1,2,3};int[] arr2 {100};arr2 arr1;for (int x:arr2) {System.out.println(x);}引用变量并不直接存储对象本身可以简单理解成存储的是对象在堆中空间的起始地址,通过该 地址引用变量便可以去操作对象,这是在arr2arr1未进行时的状态 这是arr2arr1之后的样子,arr2的引用指向了arr1引用指向的对象,而未被引用指向的原来的arr2的那一块空间,就是如图值是100的那一块区域会被自动释放 null int[] arr null;System.out.println(arr.length);null就是一个不指向任何对象的引用–空引用,类似于c语言的NULL(空指针),但是java并未明确规定null与0号地址有关系,他只是一个不执行任何对象的内存位置,无效的内存位置 注意: 一个引用可以同时指向多个对象? 不能,就好比int a 0;a10;a20;a能存放这三个值吗,显然不可以,同为变量,引用也不可以 指向多个对象 对象能不能指向对象? 哒唛,这也是不可以的,只有引用才能指向对象 数组应用 public static void main(String[] args) {int[] arr {1,2,3};revise1(arr);for (int x: arr) {System.out.println(x);}revise2(arr);for (int x: arr) {System.out.println(x);}}public static void revise1(int[] arr) {arr[0] 100;}public static void revise2(int[] arr) {arr new int[] {4,5,6};}调用revise1函数,形参引用指向arr对象,通过引用来找到arr对象,修改arr[0]的值 调用revise2函数,new int[] {4,5,6}创建一个数组,是改变形参引用的指向,所以并不会对原数组造成影响 总结: 所谓的 “引用” 本质上只是存了一个地址. Java 将数组设定成引用类型, 这样的话后续进行数组参数传参, 其实只是将数组的地址传入到函数形参中. 这样可以避免对整个数组的拷贝(数组可能比较长, 那么拷贝开销就会很大) 刚才revise2函数未对arr进行修改,大家可以以数组为返回值,接收修改之后的数组 public static void main(String[] args) {int[] arr {1,2,3};arr revise2(arr);for (int x: arr) {System.out.println(x);}}public static int[] revise2(int[] arr) {arr new int[] {4,5,6};return arr;}通过接收修改之后的数组,类似于arr2arr1 数组转字符串 public static void main(String[] args) {int[] arr {1,2,3,4};String tem Arrays.toString(arr);System.out.println(tem);}Java 中提供了 java.util.Arrays 包,方便打印数组,先将数组转化为字符串类型,然后打印 数组拷贝 public static void main(String[] args) {int[] arr {1,2,3,4,5};int[] arr1 Arrays.copyOf(arr,arr.length);System.out.println(Arrays.toString(arr1));}copyOf的源码里可以看出,就是把第一个参数是原数组,第二个是长度,用新数组来接收返回值,如果长度大于原数组,int默认初识化为0 public static void main(String[] args) {int[] arr {1,2,3,4,5};int[] arr1 Arrays.copyOf(arr,arr.length1);System.out.println(Arrays.toString(arr1));}int[] arr {1,2,3,4,5};int[] arr1 Arrays.copyOfRange(arr,0,arr.length);System.out.println(Arrays.toString(arr1));copyOfRange是赋值某个区间,java表示区间,如上述代码的0,arr.length就是前闭后开,[0,arr.length) int[] arr {1,2,3,4,5};int[] arr1 new int[arr.length];System.arraycopy(arr,0,arr1,0,arr.length);System.out.println(Arrays.toString(arr1));arraycopy方法的参数,原数组,原数组的起始位置,目标数组,目标数组的起始位置,长度 二维数组 二维数组本质上也就是一维数组, 只不过每个元素又是一个一维数组. 数据类型[][] 数组名称 new 数据类型 [行数][列数] { 初始化数据 }; public static void main(String[] args) {int[][] arr {{1,2,3},{4,5,6}};for (int i 0; i arr.length; i) {for (int j 0; j arr[i].length; j) {System.out.print(arr[i][j] );}System.out.println();}public static void main(String[] args) {int[][] arr {{1,2,3},{4,5,6}};for (int[] x: arr) {for (int y: x) {System.out.print(y );}System.out.println();}}public static void main(String[] args) {int[][] arr {{1,2,3},{4,5,6}};System.out.println(Arrays.deepToString(arr));}也可以使用Arrays包里的方法来专门打印二维数组
http://www.dnsts.com.cn/news/105058.html

相关文章:

  • 融安有那几个网站做的比较好的360地图怎么添加商户
  • 网站建设后台有哪些东西wordpress自定义栏目上传图片
  • 网站建设费用标准个人参与防疫工作总结
  • 网站开发it项目规划书广州网站制作公司多少钱
  • flash网站制作实例做网站的带宽
  • 快递公司网站模板源码网站有哪些
  • 做win精简系统的网站重庆男科医院哪家好
  • 金乡县网站开发网站建设 域名主机
  • 编制综合网站平台的公司排名郑州高端网站建设公司
  • 洛阳建公司网站军事新闻头条
  • 宜昌本地网站建设wordpress如何加入备案许可证编号
  • 网站网络建设网盘wordpress
  • 建设产品信息网站大连装修公司排名前十名
  • a5站长网网站交易合肥网站优化哪家好
  • 一个专门做熊的网站网站运营推广
  • 检索标准的网站深圳和胜建设公司
  • 龙华高端网站设计深圳网站建设便捷
  • 网站建设系统下载有什么软件可以推广
  • 网站设计是怎么设计的网站优化电话
  • vue使用于网站开发铜川网站开发
  • 做影视网站怎么样不犯法佛山市网站公司
  • 网站首页优化方案可以注册免费网站
  • 深圳市住房和建设局网站住房上海网站建设 虹口
  • 建设工程项目在哪个网站查询域名哪里注册
  • 网站结构的规划电子商务网站建设与维护李建忠
  • 扁平化 公司网站哪些网站可以做移动端模板
  • 福州做网站的公司有哪些小程序拉新项目
  • 网站关键词重要性门户网站建站方案
  • 网站制作公司属于广告发布者吗做川菜的网站
  • 网站后台ftp在哪文字生成图片在线使用