Java SE 之程序逻辑控制和方法的定义与使用

JAVA SE 3.面相对象 JAVA SE(Java Platform Standard Edition ,Java标准版) JRE(运行环境):提供Java虚拟机和运行Java应用程序所必需的类库 JDK(Java SE开发工具集):包括JRE和命令行开发工具(编译,运行,调试Java程序所需要的基本工具) JRE与JDK的区别: 如果只需要在某种操作系统下运行Java应用程序,则安装支持该操作系统的JRE软件即可; 如果不仅要运行Java应用程序,还要开发Java应用程序,就需要安装支持该操作系统的JDK软件; . 阅读详情

首先我们说点题外话        System.out.printf("%n")

         windows  下    文件换行符   \r\n

         unix         下    文件换行符   \n

进入我们的主题   

1.程序结构与逻辑控制

在Java中,程序一共有三种结构       顺序结构

                                                         分支结构

                                                         循环结构

逻辑执行的过程              1.顺序执行

                                        2.条件执行

                                        3.循环执行

                                        4.子路径

下面是执行过程截图

     

   1.1Java的分支结构

分⽀结构:进⾏逻辑判断,当满⾜某些条件时才会执⾏某些语句

1.1.1 if

if语句一共有两种形式

形式1.

if(布尔表达式)
    {
   //条件满足时执行代码
    }
else
{
   //条件不满时执行代码
}

形式2.

if(布尔表达式)
{
   //条件满足时执行代码
}
else if(布尔表达式
){
    //条件满足时执行代码
else
{
   //条件都不满足时执行代码
}

 

使⽤if、else可以实现对条件的判断,但是如果进⾏多值判断,可以使⽤switch语句

1.1.2 switch

switch语句执行如下

switch(数字|枚举|字符|字符串){
case 内容1 : {
内容满足时执行语句; [break;]
}
case 内容2 : {
内容满足时执行语句; [break;]
}
...
default:{
内容都不满足时执行语句; [break;]
} }

要注意break的使用以及没有条件时default的用法。

switch开关语句,若case之后没有break,则会满⾜case之后的所有语句⼀直执⾏直到break或全部结束。

1.2 Java的循环结构

循环结构 字面上我们就可以大致理解 指的是一段程序在反复执行。

首先我们要接触的是 while语句

while循环语法

while(循环结束条件判断)
{
循环语句;
修改修改循环结束判断;
 }

下面是do while语句

do{
循环语句;
修改循环结束判断; }while(循环结束条件判断);

使⽤while的最⼤特点:如果条件不成⽴,⼀次也不执⾏;⽽do-while,⾄少执⾏⼀次

for语句 这是我们平常经常所使用的

for(循环初始化;循环结束判断;修改循环结束条件){

循环体;

}

在这里需要注意的是for语句后的括号都是以;隔开

感兴趣的小伙伴们可以试试 

public class chenfa{
	public static void main(String[]args){
		for(int i=1;i<=9;i++)
		{
			for(int j=1;j<=i;j++)
			{
				System.out.printf("%d*%d=%-2d",j,i,j*i);
			}	
			System.out.println();
		}
	}
}

循环使用的原则

1. 对于不知道循环执⾏次数,但知道循环结束条件的,使⽤while

2. 明确知道循环次数的,使⽤for

循环控制

2.方法的定义与使用

方法是什么 其实方法就好比C语言中的函数 这样想就比较好理解了

方法也是一段可以被重复使用的代码块

什么是方法签名

方法名称+形参列表

println(int a)

println(string s)

Overloading(重载)

int max(int a,int b)

int max(int c,int d)

重载是一种现象

方法名称相同,但参数列表不同

递归的条件 1.程序的范围必须在逐渐缩小

                   2.递归必须有递归出口,负责就会出现死循环导致崩溃

汉诺塔问题便是递归的典型代表

说有3个木桩 第一个木桩上有三个从上到下依次变大的盘子

现在我们有把盘子移到第三个木桩上,问该怎么办?

小伙伴依照上面的提示自己尝试一下 下篇文章内附代码。

有什么不足之处还望大家指正。

 

 

java SE最经典的桌面小程序(N多demo)适合初学者 java SE最经典的桌面小程序(N多demo)适合初学者,大概有100个非常经典的java se程序。 立即下载

相关推荐

神经元细胞结构刨析(持续更新)

神经细胞的学习笔记

weixin_46596227的博客 2220

java 逻辑与&& 执行顺序

Java A&&B 语句,如果A 是False,则不再执行B。 示例: int k = 30; if(true && --k<0) { ; } System.out.println(k); 输出: 29 int k = 30; if(false && --k<0) { ; } System.out.println(k); 输出:...

rosefun96的博客 4289

本地部署gradle

在部署CAS构建执行包时,如果按照CAS的官方命令gradlew clean build,如果系统没安装过gradle,这个步骤将会从网上下载gradle,但是进度非常慢,耗时很长。为了更快地完成项目构建,我们可以直接在本地部署好gradle,节省一点时间。

益添的博客 779

【Java】JavaSE实践项目完整版(含代码)

在开始动手前先进行需求分析和模型设计。 需求分析: 先看看我们所需要的系统功能结构: 这个项目简单来说需要完成用户、开发人员、开发团队和开发项目的增删改查,在完成相应的功能之后还要与用户交互实现即设计好交互界面,能够让用户访问新项目内容,使用相关功能。 系统流程如下: •模拟实现一个基于文本界面的《项目开发团队分配管理软件》 •熟悉Java面向对象的高级特性,进一步掌握编程技巧和调试技巧 •主要涉及以下知识点: ①类的继承性和多态性 ②对象的值传递、接口 ③static和f.

akisi的博客 1万+

华为2019秋招笔试Java实现(2)

华为2019秋招笔试Java实现(2) 笔试日期2019年8月14日 第二题(200分) 题目描述 某程序员小A,有一种表格数据需要存储在文件中。表格中的每一行,由若干个字段组成,每个字段可以是整数或字符串(字符串只包含数字、字母以及特殊字符!@#%^&*()",)。小A设计了一种存储格式,采用文本的方式对表格数据进行存储。文本文件中的每一行,代表了表格数据中的一行数据。具体格式描述如下: 1、采用逗号分隔不同的字段(逗号前后无空格); 2、数字直接采用10进制的文本存储; 3、字符串的存储规则如下

hewhys的博客 1548

Java SE——程序逻辑控制和方法的定义与使用

一、Java程序结构与逻辑控制Java程序结构:顺序结构、分支结构、循环结构1、分支结构(同C语言)分支结构:进行逻辑判断,当满足某些条件时才能执行某些语句(1)if语句(条件判断)(2)switch语句(多值判断)2.循环结构(同C语言)循环结构:某几行代码被一直重复执行(1)while循环语句(若条件不成立则一次也不执行)(2)do-while循环语句(不管条件成不成立都会执行一次)(3)fo...

L_X_Y_HH的博客 400

python调用hypermesh调用tcl_TclTk如何调用HyperMesh运行tcl脚本文件

#Tcl/Tk编写界面部分set t [toplevel .tp]focus $tgrab $tset Filename "E:/CAE_Tech/process_files/88/Example.tcl"set Font "Times 12 bold"wm title $t "Call HyperMesh"wm attribute $t -topmost 1wm withdraw $tset t...

weixin_39541681的博客 1599

【Java SE】程序逻辑控制

本期主要讲解: 1、分支语句 1.1 认识 if 语句 1.2 两个 if 分支以上的情况 1.3 if 嵌套的情况 1.4 switch 语句 1.5 使用 switch 的注意事项 2、循环结构 2.1 while 循环 2.2 for 循环 2.3 do while 循环 2.4 break 和 continue 3、输出到控制台 4、从键盘输入............

程序猿教你打篮球的博客 9824

STM32+ESP8266接入OneNet物联网平台全流程

MQTT协议是物联网设备与云平台通信的主流轻量级消息传输标准,其发布/订阅模型天然适配嵌入式资源受限场景;OneJSON作为中国移动OneNet平台定制的数据格式,在标准JSON基础上精简Schema、降低解析开销,显著提升STM32等MCU的处理效率。该技术组合兼顾安全性、低功耗与工程可量产性,广泛应用于环境监测、智能仪表、工业传感器等远程数据采集系统。实际落地需协同完成云平台物模型定义、Token动态认证、MQTT Topic严格构造、AT指令可靠交互及单总线传感器数据融合等关键环节。本文以DS18B2

u5v6w7的博客 1119

工程经验分享:PCIE(1)

本文介绍AXI Bridge For Pcie Express Gen3 Subsystem 的使用方法。这个IP兼具简单与实用性,将PCIE协议层实现于内部,仅留出AXI接口供开发者使用。开发者不需要处理复杂的PCIE协议数据,只需要对AXI总线有所了解即可,十分符合Xilinx一贯的开发风格。本文无关PCIE协议本身,仅分享实用性的工程经验,以PCIE IP为核心,一步一步搭建一个简单的子系统,以此说明用法。文中所有内容均已通过项目检验。

weixin_42415266的博客 3842

【Java se】程序逻辑控制

比较简单,按照代码书写的顺序一行一行执行。如果调整代码的书写顺序则执行顺序也发生变化。

m0_73893082的博客 922

第七节:Vben Admin 最新 v5.0 (vben5) + Python Flask 快速入门 - 用户管理(上)

本节的内容是用户管理,后端Python代码的实现。

cuiwin的专栏 777

JAVA(SE)程序逻辑控制

JAVA程序逻辑控制就该这么学

Hhxhxud的博客 711

IEM模型,地表粗糙度模拟

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

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【Java SE基础】程序逻辑控制+猜数字游戏

顺序结构、分支结构、循环结构,本文将围绕这三大结构进行讲述其内容与特点。

2302_76707004的博客 1054

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【Java SE 程序逻辑控制】全面解析与实践指南​

Java运算符是实现数据计算、逻辑判断和赋值操作的核心语法元素,分为算术、赋值、比较、逻辑、位运算、条件运算符和instanceof七大类。算术运算符需注意整数除法截断、模运算符号规则及自增/自减的前后置差异;赋值运算符包含基本赋值和复合赋值两种形式,后者能自动处理类型转换;比较运算符返回布尔值用于逻辑判断。掌握各类运算符的特性和使用场景,避免类型转换错误、整数溢出等问题,是编写高效正确代码的基础。

手心朝下的博客 1821

深度学习工具包 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 SE(3)——程序逻辑控制,输入输出

按照代码的书写顺序从上到下依次执行,每条代码都会执行到且仅执行一次。

2401_89167985的博客 5996

【Java.SE】数组的定义与使用

【Java.SE】数组的定义与使用,数组的基本概念,数组是引用类型, 数组的应用场景

2201_75366661的博客 3372

Java SE 基础内容总结

数组是固定长度的同类型集合:可通过循环遍历,也可结合Arrays工具类使用,如排序、查找等。

weixin_47599124的博客 594

【Java SE】4.程序逻辑控制

系统自动生成一个随机整数(1-100),然后由用户输入一个猜测的数字,如果输入的数字比该随机数小,提示“低了”,如果输入的数字比该随机数大,提示“高了”,如果输入的数字和随机数相等,则提示“猜对了”。此时,为 while 的语句体(这是一个空语句),实际的{ }部分和循环无关,此时循环条件 num <=10,导致代码死循环了。执行到continue 语句的时候,就会立刻进入下次循环(判定循环条件),从而不会执行到下方的打印语句。表达式1成立,执行语句1,否则表达式2成立,执行语句2,否则执行语句3。

2301_79719531的博客 1251

【Java SE语法篇】4.程序逻辑控制

了解并使用Java三种程序逻辑控制语句,顺序结构、分支结构和循环结构

QQ3447387928的博客 1736

Java——SE语法总结

1.数组的创建数组元素的类型[] 数组名=new 数组元素的类型[数组元素的个数]2.数组的初始化静态初始化可以省去new对象的过程未赋值时:引用类型未初始化时默认为03.数组的遍历数组通过下标来进行遍历,下标从0开始进行递增,数组名.length可以获取数组的长度for each循环是数组遍历的一种简单模式,for(元素类型 变量名:数组名)这样我们的变量就可以依次拿到我们数组中的元素,但是不能拿到数组元素的下标,比较适合遍历打印。4.数组是引用类型初始JVM的内存分布程序计数器。

2301_80079026的博客 854

Java SE 总结

Java SE 总结

优快云_queen_wang的博客 886

【JAVE SE】---运算符和程序逻辑控制语句

关于Java SE的的运算符与逻辑语句知识复习,希望可以帮助到大家,后续也会持续更新,如果觉得对自己有帮助,可以点点关注哦

m0_69078476的博客 426
上一篇: java变量
下一篇: java数组
王翔乐
博客等级 码龄8年 6粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值