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

怎样打开网站网络平台建设及运营方案

怎样打开网站,网络平台建设及运营方案,织梦建设手机网站,微信如何制作一个网页目录 输入输出输出到控制台从键盘输入使用 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.w-s-a.com/news/324705/

相关文章:

  • 学校的二级网站怎么建设深圳企业网站制作设计
  • 自己做qq头像静态的网站网站建设是属于软件开发费吗
  • 举报网站建设做网站之前的工作
  • 用QQ群做网站排名个人网站制作协议
  • 做茶叶网站的素材天津网站营销
  • 网站设计建设流程图微信端的网站开发python
  • 湖州网站seo优化网站改域名备案
  • dedecms怎么制作网站合肥电商网站开发
  • 网站开发通用流程图做flash的网站
  • 营销型网站有哪些平台网站建设藤设计
  • 网站需求分析网站建设美食网站建设多少钱
  • 有专门做网站的吗建德网站
  • 做网站要买服务器吗单页设计思路
  • 一 电子商务网站建设规划网站开发前端框架和后端框架
  • 自助网站建设系统软件自己免费建设网站
  • 百度微建站access如何与网站连接数据库
  • ppt素材免费网站网站正能量晚上免费软件
  • 个人淘宝客网站如何备案搭建一个平台要多少钱
  • nginx 网站建设淘客网站怎么做首页
  • 网站制作的基本步骤是手机网站建设 新闻
  • 水墨 网站源码工装
  • 任丘网站建设服务网站 建设原则
  • 长沙做一个网站要多少钱网站底部备案代码
  • wordpress构建自定义设置页面seo培训学什么
  • 延安有哪些做网站的公司如何建设网站?
  • 网站建设者属于广告经营者吗网站管理程序
  • 网站内容优化方法深圳市宝安区怎么样
  • 视频网站开发视频公司网站制作多少钱
  • 单页简洁手机网站模板购物软件
  • 素材网站官网低价网站建设费用预算