Java基础语法之数组详细介绍【精】

Java 基础语法、Java注释 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。单行注释、多行注释、文档注释。 阅读详情

Java基础语法

数组操作的2个异常

数组的索引超过范围异常 (索引越界)

程序中访问了不存在的索引, 每个数组的索引范围从0开始,最大的索引=数组的长度-1

	public static void main(String[] args) {
		//定义存储int类型的数组
		int[] arr = {1,2,3,4,5};
		//数组中存储5个元素,长度是5个
		System.out.println(arr.length);
		//索引0-4
		//访问不存在的索引
		System.out.println(arr[5]);
	}

数组的空指针异常

当数组的引用类型变量arr不保存数组的地址了,再操作数组,就出现空指针异常

	public static void main(String[] args) {
		int[] arr = {1,2,3,4,5};
		System.out.println(arr);
		
		arr = null; //数组 = 空 , 不再保存数组在内存中的地址了
		
		//不能操作数组的任何内容
		System.out.println(arr.length);
	}

数组的内存问题

两个数组在内存中的表现

每个数组,都会在内存中,开辟空间存储数据, 内存之间是相互独立的,没有关联

一个数组就会占用一个内存空间

	public static void main(String[] args) {
		//定义2个数组
		int[] arr1 = new int[]{1,2,3,4,5};
		int[] arr2 = new int[]{6,7,8,9,0};
		//输出数组,看到不同的地址
		System.out.println(arr1);
		System.out.println(arr2);
		
		System.out.println(arr1[0]);
		System.out.println(arr2[0]);
	}

多个变量指向同一个内存空间

public static void main(String[] args) {
		//定义数组,存储一些元素
		int[] arr1 = {1,2,3,4};
		
		System.out.println(arr1);
		
		//将数组arr1的内存地址,赋值到另一个变量
		int[] arr2 = arr1;
		System.out.println(arr2);
		
		System.out.println(arr1[0]);
		
		arr2[0] = 100;
		
		System.out.println(arr1[0]);
	}

数组的常见操作

数组的遍历 (迭代)

所谓数组的遍历,就是将数组中的每一个元素分别取出的过程.

数组的遍历,是数组其他操作的一个最基础的案例

循环遍历取出数组的元素,循环的次数由长度决定

public static void main(String[] args) {
		int[] arr = {2,4,6,8,10};
		//循环遍历数组,取出数组中的每个元素,依次取出
		//数组的长度是5个,索引0-4  for(知道次数)   while(不知道次数)
		for(int i = 0 ; i < arr.length ; i++) {
			//利用循环中的变量i, 作为索引使用,取出数组的元素
			System.out.println(arr[i]);
		}
	}

数组最值获取

取出数组中的最大值,或者是最小值

实现核心思想 : 遍历中进行比较

/*
 * 获取数组的最大值
 * 实现步骤 :
 *   1.定义变量,保存数组0索引上的元素
 *   2.遍历数组,取出数组的每个元素
 *   3.数组的元素和变量,进行比较
 *      如果数组的元素,大于变量
 *      数组的元素,存储在变量中
 *   4.数组全部遍历完成,变量保存的就是最大值
 */
public class ArrayDemo06 {
	public static void main(String[] args) {
		//创建数组
		int[] arr = {1,5,10,2,6,9,0,7};
		//定义变量,保存数组0索引上的元素
		int max = arr[0];
		//遍历数组,取出数组的每个元素
		for(int i = 1 ; i < arr.length ; i++) {
			//数组的元素,和变量max比较
			if(arr[i] > max) {
				//赋值变量
				max = arr[i];
			}
		}
		//数组全部遍历完成,变量保存的就是最大值
		System.out.println("最大值是::"+max);
	}
}

数组的倒序遍历

	public static void main(String[] args) {
		int[] arr = {1,3,5,7,9};
		//从数组的最大索引开始遍历
		for(int i = arr.length-1 ; i >= 0 ; i--) {
			System.out.println(arr[i]);
		}
	}

数组拼接为字符串

任意数组 : int[] arr = {1,2,3,4,5,6,7}, 遍历数组,取出元素,元素拼接为一个字符串

输出的格式 [1,2,3,4,5,6,7]

/*
 *   输出的格式 [1,2,3,4,5,6,7]
 *   数组遍历,拼接成上面的格式
 *   解决最后一个逗号问题 :
 *     判断循环变量 i , 如果i的值,到达了数组的最大索引
 *     字符串拼接] ,而不是逗号
 *     
 */
public class ArrayDemo08 {
	public static void main(String[] args) {
		//创建数组
		int[] arr = {1,2,3,4,5,6,7};
		//遍历,取出元素,字符串的拼接
		String s = "[";
		for(int i = 0 ; i < arr.length ;i++) {
			//判断i是不是最大索引,如果是拼接]
			if(i == arr.length - 1) {
				s = s + arr[i]+"]";
			}else {
				s = s + arr[i]+",";
			}
		}
		System.out.println(s);
	}
}

数组元素的查找

已知数组 : 在数组中查找一个元素是否存在

元素存在于数组中 : 返回元素所在的索引

元素不存在数组中 : 返回负数

实现功能的核心思想 :

/*
 * 数组元素基本查找
 * 已知数组 : 在数组中查找一个元素是否存在
	     元素存在于数组中 : 返回元素所在的索引 
	     元素不存在数组中 : 返回负数
	     实现功能的核心思想 : 遍历,进行比较 
	     
      实现思想 :
       1. 定义数组
       2. 定义要查找的元素
       3. 定义变量,保存查找后的结果 (数组的索引,或者是负数)
       4: 遍历数组,取出每个元素,和要查找的元素对比
         	一旦找到,就不会在进行比较了
 */
public class ArrayDemo09 {
	public static void main(String[] args) {
		//1. 定义数组
		int[] arr = {1,5,6,7,2,3,8};
		//2. 定义要查找的元素
		int key = 1;
		//3. 定义变量,保存查找后的结果 (数组的索引,或者是负数)
		int index = -1;
		//4: 遍历数组,取出每个元素,和要查找的元素对比
		for(int i = 0 ; i < arr.length ; i++) {
			//查找的元素 和 数组的元素相等,找到了
			if(key == arr[i]) {
				//数组的索引,赋值到变量index
				index = i;
				//不需要再计算了吧,结束循环
				break;
			}
		}
		if(index >= 0) {
			System.out.println("元素找到了,在"+index+"这个索引");
		}else{
			System.out.println("抱歉,元素未找到");
		}
	}
}

数组翻转

所谓数组翻转,就是数组中元素的位置发生了转变 不等于倒序遍历

原始数组 : {1,2,3,4,5}

翻转数据 : {5,4,3,2,1}

/*
 *  数组的翻转
 *  
 *  数组最远端的元素换位
 *  
 *  实现思想 : 
 *    1. 定义2个变量
 *      一个变量,保存数组的最小索引
 *      一个变量,保存数组的最大索引
 *      
 *    2: 当最小索引,超过最大的索引,程序结束
 *    
 *    3: 利用循环实现
 *    
 *    4: 第三方变量的位置交换
 */ 
public class ArrayDemo11 {
	public static void main(String[] args) {
		int[] arr = {1,2,3,4,5,0};
		//一个变量,保存数组的最小索引
		//一个变量,保存数组的最大索引
		int min = 0;
		int max = arr.length - 1;
		for(; min <= max  ;) {
			//第三方变量交换位置
			int temp = arr[max]; //临时变量,保存数组的最大索引
			//最小索引的元素,赋值到最大索引
			arr[max] = arr[min];
			//临时变量的值,赋值到小索引上
			arr[min] = temp;
			
			//位置交换完毕,修改索引
			min++;
			max--;
		}
		
		//数组遍历
		for(int i = 0 ; i < arr.length ; i++) {
			System.out.println(arr[i]);
		}
	}
}

以上程序小的优化

public static void main(String[] args) {
		int[] arr = {1,2,3,4,5,0};
		//一个变量,保存数组的最小索引
		//一个变量,保存数组的最大索引
	/*	int min = 0;
		int max = arr.length - 1;*/
		for(int min = 0 , max = arr.length - 1; min <= max  ;min++ ,max--) {
			//第三方变量交换位置
			int temp = arr[max]; //临时变量,保存数组的最大索引
			//最小索引的元素,赋值到最大索引
			arr[max] = arr[min];
			//临时变量的值,赋值到小索引上
			arr[min] = temp;
		}
		
		//数组遍历
		for(int i = 0 ; i < arr.length ; i++) {
			System.out.println(arr[i]);
		}
	}

二维数组

  • 一维数组 : 一个数组,存储的是需要的数据 int[] arr = {123}

  • 二维数组 : 一个数组,存储的元素,是另一个数组. 理解为数组中的数组

    • 定义方式 :

      数据类型[][] array = new 数据类型[3][2]; 
      格式解析 : 定义了一个二维数组
          [3] : 二维数组的长度, 这个二维数组里面存储了3个一维数组
          [2] : 每个一维数组的长度是2
      
    • 二维数组中,存储的是一维数组的内存地址

      public static void main(String[] args) {
          /*
          * 二维数组的长度是3,存储3个一维数组
          * 每个一维数组,可以存储2个元素
          */
          int[][] array = new int[3][2];
          System.out.println(array);//  [[I@15db9742
      
          //思考?
          System.out.println(array[0]); // [I@6d06d69c
      }
      
    • 定义方式:

      数据类型[][] array = new 数据类型[][]{}
      创建数组直接赋值元素
      
      public static void main(String[] args) {
          int[][] array = new int[][] { {1,2},{3,4,5,6},{7,8,9}  };
          System.out.println(array);
      	//思考, 输出5
      	System.out.println(array[1][2]);
      		
      	//数组的越界异常
      	System.out.println(array[2][2]);
      }
      
    • 定义方式:

      数据类型[][] array = {};
      
      public static void main(String[] args) {
          int[][] array = { {1,2,3},{4,5},{6,7,8,9,0} };
          System.out.println(array);
      }
      

遍历

二维数组的遍历 : 和一维数组遍历几乎是一样的

利用嵌套循环,双for, 外循环,遍历二维数组,内循环,遍历一维数组

public static void main(String[] args) {
    int[][] array = { {1,2,3},{4,5},{6,7,8,9,0} };
    //外循环,遍历二维数组,取出里面的3个一维数组
    for(int i = 0 ; i < array.length; i++) {
        //System.out.println(array[i]);
        //内循环,遍历每个一维数组
        for(int j = 0; j <array[i].length;j++ ) {
        	System.out.print(array[i][j]);
        }
        System.out.println();
    }
}
Java 基础语法 本文介绍了 Java 的基础语法,包括变量与数据类型、运算符、控制结构、数组、类与对象、继承与多态等内容。通过学习本文,读者可以快速掌握 Java 的基础语法,为进一步学习 Java 高级特性打下基础。在实际开发过程中,不断实践和总结是提高编程能力的关键。 阅读详情

相关推荐

Java基础语法之变量、运算符、流程控制、数组和方法等基础语法

变量、运算符、流程控制、数组和方法等基础语法。Java程序的执行流程,符合Java语法规则的程序。 1.1.1.Java初识 对Java进行简单介绍,Java程序如何执行,以及Java程序的结构。 Java简介,JDK(JAVA开发工具包)=开发工具集(javac编译器工具、java命令解释执行等组件)+JRE(JAVA运行时环境)=开发工具集+JRE(JVM+Java标准类库),开发程序必须使用JDK,运行开发完成的程序只需JRE,JVM(JAVA虚拟机)是JAVA平台无关性(LINUX、WINDOWS等

qq_38326107的博客 842

JAVA基础语法:数组

文章目录一.数组的基本用法1.什么是数组2.数组的创建与初始化3.数组的使用4.如何遍历数组5.数组和字符串的转换二.数组和方法的关系1.数组作为方法的参数三.关于引用数据类型的理解问题1.实参与形参2.引用3.栈4.堆四.实战演练1.找出数组最大值2.求数组的平均值3.查找一个数组中是否包含指定元素4.二分查找5.判断数组是否有序(默认升序) 一.数组的基本用法 1.什么是数组 数组的本质上就是我们能“批量”创建相同类型的变量,也就是以此定义N个相同数据类型的变量,我们就把这种结构称之为数组。 2.数组的

m0_55644719的博客 1086

ss524v100 调试cvbs输出

启用视频层3 dev2 对应 layer3在vdec与vo绑定的时候(不需要经过vpss),不能绑定错误,以下是绑定的程序。

2116

【Java】基础语法介绍

本篇文章围绕Java的基础语法展开讲解,包含关键字、输入输出、数据类型、运算符、分支循环、类和对象、接口、数组等内容

Eristic0618的博客 8154

三菱FX3U PLC红绿灯ST编程实战:从基础逻辑到急停功能完整实现

本文以十字路口红绿灯控制为例,详细讲解了三菱FX3U PLC使用ST编程的完整实战过程。内容涵盖从基础时序逻辑、状态机设计,到急停功能、黄灯闪烁、昼夜模式切换等高级功能的实现,并提供了代码优化与调试技巧,帮助工程师掌握结构化文本在工业控制中的清晰、结构化应用。

weixin_29070861的博客 532

【正点原子STM32连载】第六十章 串口IAP实战:从Bootloader到APP的无缝升级

本文以正点原子STM32F103开发板为例,详细讲解了串口IAP(在应用编程)技术的实现原理与实战步骤。内容涵盖Bootloader与APP的分工、FLASH空间规划、核心代码解析以及Ymodem协议的应用,旨在帮助开发者掌握通过串口为嵌入式设备实现远程固件升级的关键技术,提升产品维护与迭代效率。

weixin_29161719的博客 444

Java基础语法

1. Java概述 1.1 Java语言发展史 语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言 Java语言是美国Sun公司(Stanford University Network)在1995年推出的计算机语言 Java之父:詹姆斯·高斯林(James Gosling) 2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可:https://www.oracle.com 当前,我们课程使用的JDK版本:11.0 1.2 Java语言跨平台原理

terence的博客 10万+

卷积神经网络-猫狗识别(附源码)

利用python实现一个卷积神经网络,训练猫狗数据集,实现对猫狗图片的预测识别

m0_63223213的博客 2万+

java需要学习的基础语法

Java 简介 Java 开发环境配置 Java 基础语法 Java 对象和类 Java 基本数据类型 Java 变量类型 Java 修饰符 Java 运算符 Java 循环结构 Java 条件语句 Java Number类 Java Character类 Java String类 Java StringBuffer Java 数组 Java 日期时间 Java 正...

weixin_41719737的博客 1万+

开源TMS系统cortex-tms私有化部署与二次开发实战指南

运输管理系统(TMS)是现代物流数字化的核心组件,它通过将线下零散的物流操作转化为线上标准化、可追溯的数据流,实现订单、调度、跟踪与结算的全流程管理。其技术原理通常基于微服务架构,采用Spring Boot、Vue.js等成熟技术栈构建,确保系统的稳定性和可扩展性。TMS的技术价值在于显著提升物流企业的运营效率、降低成本并增强过程可控性,尤其适用于中小型物流企业实现从手工管理到系统化管理的跨越。在应用场景上,TMS广泛应用于车队管理、订单跟踪和财务结算等环节。本文聚焦于开源TMS项目cortex-tms,深

weixin_42523907的博客 746

【Unity 实用工具篇】 | Book Page Curl 快速实现翻书效果

游戏和应用开发中,真实感的交互设计能显著提升用户体验。Unity3D图书翻页效果插件为开发者提供了一种便捷方式,可在项目中实现高度拟真的书籍翻页动画。 本文介绍该插件的快速使用方法,涵盖从基础导入到自动翻页效果创建的全过程,让我们快速实现翻页效果。

努力前行,总会成为自己心中的那道光 1万+

Java基础语法之各种循环数组详细介绍

Java基础语法 流程控制语句 if…else if…else if…else 多分支语法格式: if(条件判断){ } else if(条件判断){ } else if(条件判断){ } else { } 适合与多条件的判断,但是 if else过多,会导致程序的阅读性下降 优势 : 高效的优势,只要有一个if的条件判断结果是true,整体的语句结构就结束了 public static void main(String[] args) { int i = 99

debugEDM的博客 725

如何借助Gemini 3 Pro完成一篇文献精读?(劝收藏)

金句必须是原文的完整句子,并附上该句子在文中的大致位置。你是一名资深科研文献评估专家,请根据我提供的文献信息(标题、作者、期刊、时间、引用、摘要、结论、图表)依次输出:①影响力评估:按期刊、作者、时间、引用、问题重要性给出1–10分及简述;用上述方法再结合Gemini 3 Pro的辅助,原本需要3小时才能读完一篇文献,现在只需50分钟,不管是顶刊论文还是领域内冷门论文,都可以用这套方法,另外七哥设计的高阶精读提示词,需根据自己的文献内容做调整,希望这篇文章的方法能帮你高效精读文献,掌握文献的精华内容。

智能AI让学术科研更容易 1301

Java基础编程——基础语法及介绍

Java基础编程——基础语法及介绍 介绍 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。 Java分为三个体系: JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版) JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版) JavaME

Box_sir的博客 3927

【SpringBoot】1、创建第一个SpringBoot项目

创建SpringBoot项目可以通过两种方式,1、通过访问:https://start.spring.io/,SpringBoot的官方网站进行创建SpringBoot项目;2、通过工具(例如:Idea)创建SpringBoot项目。本次使用开发工具:Idea创建我的第一个SpringBoot项目。 首先,打开我们的Idea开发工具 选择Create New Poject(创建一个新的项目) ...

JACKAL 21万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

数组(Java基础语法)

length 是每个数组对象都。

2502_91292282的博客 1114

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Java学习基础语法

这里写自定义目录标题 Java 开发环境配置 Java 基础语法 Java 对象和类 Java 基本数据类型 Java 变量类型 Java 修饰符 Java 运算符 Java 循环结构 Java 分支结构 Java Number类 Java Character类 Java String类 Java StringBuffer Java 数组 Java 日期时间 Java 正则表达式 Java 方法 ...

chensiyuan0805的博客 5699

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java基础语法总结

总而言之,Java语法简单清晰,易于学习和使用,在学习的过程中要多复习多上手敲代码,保持自己语言学习的连贯性。本文章主要对基础语法进行了一个简单的概述,想要进一步深入学习可以多看看其它更加具体化的文章和资料,希望本文对你有所帮助。

weixin_49817511的博客 1354

java基础语法入门--数组(超详细总结)

java最详细基础语法---数组

很开心你能来~ 1786

菜鸟Java基础教程 2.Java 基础语法

一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。程序计数器是当前线程执行的字节码指令地址的指示器。每个线程都有自己的程序计数器。确定线程执行的位置,指示下一条要执行的指令。在多线程环境下,确保线程切换后能够正确恢复执行位置。程序计数器通常以寄存器的形式存在于CPU中,用于记录当前线程执行的位置。在执行Java方法时,程序计数器会指示当前执行的方法字节码指令地址。

m0_46211715的博客 1736

Java基础语法之数组

数组的大小在创建后不可改变。数组索引从0开始,最大索引为数组长度-1。访问越界索引会抛出异常。多维数组可以是不规则的(即每行可以有不同的列数)。数组是Java中重要的基础数据结构,通过掌握数组的声明、初始化、访问、修改和遍历,可以更加高效地处理数据。在接下来的文章中,我们将继续探讨Java中的方法以及更多Java编程的基础知识,敬请期待!

code2cat的博客 1334

JAVA语法介绍

Java是一种广泛使用的面向对象编程语言,具有跨平台、安全性、健壮性和多线程等特点。以下是Java语言的一些基本语法介绍:包(Package):用于组织类和接口,避免命名冲突。 导入(Import):引入其他包中的类或整个包。 类(Class):Java程序的基本单位。 2. 数据类型 基本数据类型:整型(byte, short, int, long), 浮点型(float, double), 字符型(char), 布尔型(boolean)。 引用数据类型:类、接口、数组等

借雨醉东风的博客 1180

Java数组全套深入探究——基础知识阶段2、数组的定义语法

在Java中,数组是一种特殊的变量,用于存储相同数据类型的有序集合。数组的定义语法由数据类型、数组名和数组大小组成。首先,你需要指定数组的数据类型,这可以是Java中的任何基本数据类型(如int、double、char等)或引用数据类型(如自定义类、接口等)。数据类型后面紧跟着一对方括号 [],表示这是一个数组。接下来,你需要为数组选择一个合适的名称,即数组名。数组名应该具有描述性,能够清晰地表达数组的用途和意义。最后,使用 new 关键字和数组大小来创建数组实例。

红目香薰 1185

java基础详细介绍

本文章篇幅较长,建议收藏使用,如有些基础,建议看java基础介绍表格版,更为简单明了

fyr6103032003的博客 917

Java基础语法|数组

了解什么是数组、数组的初始化、数组的使用、数组与方法的关系、数组联系、二维数组

m0_61925333的博客 1888
上一篇: Java基础语法之各种循环数组详细介绍
下一篇: Java基础语法之方法详细介绍【精】
Debug_EDM
博客等级 码龄8年 21粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值