基本任务1.1Java语言基础

el/2023/9/24 20:56:56

一、任务要求

  • 完成基本数据类型的使用。
  • 完成基本运算符和表达式的使用。
  • 完成基本控制语句:判断、分支、循环等语句的使用。
  • 完成数组的使用。
  • 所有源代码必须加入行一级注释。

二、任务的理解

本次任务是让我们对Java编程中所遇到的基础知识进行学习和掌握,通过此次任务的完成可以对数据类型,基本的运算符,基本的控制语句以及数组的灵活使用,并在学习的过程中养成对代码注释的良好习惯。

三、完成方法

采用sublime编程软件进行编译,并生成类程序文件,在Windows命令窗口运行,观察运行结果并分析。

四、完成过程与结果

  • 1.数据类型的声明方法
public class task1_1{         //创建类名为任务1.1public static void main(String args[]){        //定义主函数mainbyte a=20;      //声明byte型变量a并赋值short b=100;    //声明short型变量b并赋值int c=100;      //声明int型变量c并赋值long d=50l; //声明long型变量d并赋值,注意的是赋的值后面加字母lfloat e=3.14f;    //声明float型变量e并赋值,后面加字母fdouble f=5.77;//声明double型变量f并赋值,double为默认的浮点型char g='g';   //声明char型变量g并赋值,注意char只能为单个字符  boolean h=true;//声明boolean型变量h并赋值只有true和false两个值

需要注意的就是各个数据类型的取值范围不同,以及long类型赋值时需在后面加字母L,float类型赋值时需在后面加字母F,默认的浮点型为double类型,char类型是字符型,只能赋予单个字符,布尔型只有true和false两个值。

  • 2.变量的使用范围
{//语句块//变量的使用范围int x=10;                             //定义变量x{                                     //在主方法中定义复合语句块int y=40;                         //定义局部变量ySystem.out.println(x+"\n"+y);     //输出x与yint z=245;                        //定义z变量boolean m=true;                   //定义布尔型变量mSystem.out.println(m);            //复合语句执行前的m的输出{                                 //在复合语句块中增加复合语句块m=y>z;                        //比较y是否大于z,并将结果赋予布尔型变量mSystem.out.println(z+"\n"+m); //输出z和m}System.out.println(m);            //仍然输出复合语句块执行后的结果}String word ="hello java";            //定义字符串wordSystem.out.println(word);             //输出字符串,复合语句块中的变量都不能输出}System.out.println("-----end-----");

运行结果:
复合语句中的变量不能在复合语句外进行运算和调用,但可以对外部变量进行运算和输出,并且改变外部变量的值。

  • 3.if语句和if…else语句的使用
{//语句块//if语句和if...else语句的使用int x=52;                               //声明int型变量xint y=32;                               //声明int型变量yif(x>y){                                //判断x是否大于ySystem.out.println("x大于y");       //是的话输出x大于y}                                        if(x<y){                                //判断x是否小于ySystem.out.println("x小于y");       //是的话输出x小于y}                           int math=95;                            //声明int型变量mathint english=44;                         //声明int型变量englishif(math>60){                            //判断math是否大于60System.out.println("数学及格了");    //是的话输出数学及格了}else{              System.out.println("数学不及格");    //否的话输出数学不及格}if(english>60){                         //判断english是否大于60System.out.println("英语及格了");    //是的话输出英语及格了}else{   System.out.println("英语不及格");    //否的话输出英语不及格}}System.out.println("-----end-----");

先判断if后括号内的表达式的值是否为真,若为真则输出后面语句,否则跳过或者输出else语句内容。
运行结果:在这里插入图片描述

  • 4.if…else if语句的使用方法
{//语句块//if,else if的使用方法        int a=20;                                                  //定义int型变量a并赋值为20if(a>30){                                                  //判断a是否大于30System.out.println("a的值大于30");                      //如果大于30则输出a的值大于30}else if(a>10){                                            //失败后再判断a是否大于10System.out.println("a的值大于10,但小于或等于30");       //如果大于10则输出a的值大于10,但小于或等于30}else if(a>0){                                             //失败后再判断a是否大于0System.out.println("a的值大于0,但小于或等于10");        //如果大于0则输出a的值大于0,但小于或等于10}else{                System.out.println("a的值小于0");                       //非以上情况则输出a的值小于0}}System.out.println("-----end-----");

if…else if的语法就是可以进行多次判断,简化代码内容。
运行结果:在这里插入图片描述

  • 5.switch语句的运用
{//语句块//switch语句的运用String str="马云";                                      //定义字符串strswitch(str){                                            //运用switch语句case "马化腾":                                      //定义case语句中的常量1System.out.println("腾讯老板");                     //二者一样时输出信息break;                                              //跳出循环的语句case "马云":                                        //定义case语句中的常量2System.out.println("阿里巴巴老板");                  //输出信息break;                                              //返回语句default:                                            //默认语句System.out.println("是其他人");                      //输出信息}}System.out.println("-----end-----");

switch语句和if…else if语句基本作用相似,当switch对应的变量与case对应的内容相吻合时执行语句,需要break语句来跳出循环。
运行结果:
在这里插入图片描述

  • 6.while语句使用
{//语句块//while语句从1加到10int i=1;                                 //定义int型变量iint sum=0;                               //定义int型变量sumwhile(i<=10){                            //判断i是否小于等于10sum=sum+i;                           //满足条件执行循环体求和i++;                                 //变量i自增}System.out.println("sum="+sum);                 //输出sum}System.out.println("-----end-----");

while语句就是对条件判断,复合条件就对循环体进行循环,直到不符合条件为止。
运行结果:在这里插入图片描述

  • 7.while和do…while之间的区别
{//语句块//比较while和do...while的区别int b=100;while(b==60){                           //指定进入循环体条件b为60时进入循环System.out.println("ok1");          //循环体b--;}int c=100;                              //声明变量cdo{                                     //do...while循环体System.out.println("ok2");          c--;}while(c==60);                          //指定循环条件c为60时执行循环体}System.out.println("-----end-----");

while语句需要先进行判断,复合条件才能进入循环体,而do…while则是先进行一次循环再进行判断是否能够进行下一次循环。
运行结果:在这里插入图片描述

  • 8.for语句的使用
{//语句块//求2到100的偶数值之和int zhihe=0;                                         //定义求和结果的变量for(int oushu=2;oushu<=100;oushu=oushu+2)           //每循环一次偶数加2,直到100结束{                                   zhihe=zhihe+oushu;                              //累加到变量zhihe中}System.out.println("2到100的偶数之和为"+zhihe);     //输出结果}System.out.println("-----end-----");

for语句执行方法为,先进行第一个分号前的初始化操作,再对第二个分号前的语句进行判断,如果为真则执行循环,循环一次后执行第三个表达式再进行第二个分号前的语句判断,直到判断为假结束循环。
运行结果:在这里插入图片描述

  • 9.中断的使用方法
{//中断的使用方法for(int i=0;i<=100;i++){                             //for语句i小于等于100时执行循环体,i累加System.out.print(i+"  ");                           //输出i的值if(i==6){                                        //if判断i是否等于6,等于6就执行下面语句break;                                       //跳出当前的for循环}}System.out.println();System.out.println("-----end-----");                for(int a=0;a<3;a++){                                  //外层循环语句for(int b=0;b<6;b++){                              //内层循环语句if(b==4){                                      //判断语句 break;                                     //当b为4时跳出最内层循环继续执行外部的循环}System.out.println("a="+a+" b="+b);            //输出a和b的结果}}System.out.println("-----end-----");                  Loop:for(int c=0;c<3;c++){                            //带有标签名的for循环体for(int d=0;d<6;d++){                             //嵌套的for循环体if(d==4){                                     //if判断语句break Loop;                               //跳出Loop标签标记的循环体}System.out.println("c="+c+" d="+d);           //输出c和d的值}}System.out.println("1到20的奇数有:");                  //输出一段文字for (int jishu=1;jishu<20;jishu++){                   //for循环语句,当jishu小于20时执行循环体,jishu自增if(jishu%2==0){                                   //判断jishu这个变量能否被2整除continue;                                     //被2整除就跳出此次循环执行jishu++,再进行循环}System.out.print(jishu+"  ");                     //输出1到20的奇数值}}System.out.println();System.out.println("-----end-----");

break语句为跳出当前的循环体,break加标签可以跳出指定标签的循环体,continue语句是跳出此次循环直接进入下一个循环。
运行结果:在这里插入图片描述

  • 10.数组的使用
{//语句块//使用一位数组int day[]=new int[]{31,28,31,30,31,30,31,31,30,31,30,31};//定义一维数组day,类型为int,并进行内存分配for(int i=0;i<12;i++){                                   //for循环,月份i增加,并且小于12个月System.out.println((i+1)+"月有"+day[i]+"天");        //输出对应月份的信息,注意数组的下标都是从0开始}System.out.println("-----end-----");                        }{//语句块//使用二维数组int a[][]=new int[3][4];                 //定义二维数组a,使用new关键字分配内存时,各个元素初始值为0for(int i=0;i<a.length;i++){             //行循环for(int j=0;j<a[i].length;j++){      //列循环System.out.print(a[i][j]);       //将数组元素输出}System.out.println();                //换行}System.out.println("-----end-----");

在使用数组之前,必须首先定义数组变量所属的类型。并且在为数组分配内存空间时必须指明数组的长度,数组的下标是从0开始。使用new关键字为数组分配内存时,整型数组中各个元素的初始值都为0.
运行结果:在这里插入图片描述

  • 11.foreach语句遍历数组
{//语句块//foreach遍历数组int arr[]={7,10,1};                                  //声明一维数组arrSystem.out.println("一维数组中的元素分别为:");        //输出一段汉字for(int x:arr){              //foreach语句,int x引用的变量,arr指定要循环遍历的数组System.out.print(x+"  ");                           //输出x}}System.out.println();System.out.println("-----end-----");{//语句块//foreach遍历二维数组int arr2[][]={{4,3},{1,2}};                 //定义二维数组    System.out.println("数组中的元素是:");      //输出一段汉字int i=0;                                    //外层循环计数器变量for (int x[]:arr2){                         //外层循环为一维数组i++;                                    //外层计数器递增int j=0;                                //内层循环计数器for(int e:x){                           //循环遍历每一个数组元素j++;                                //内层计数器递增if(i==arr2.length&&j==x.length){    //判断变量是二维数组中的最后一个元素System.out.print(e);            //输出二维数组的最后一个元素}else                        System.out.print(e+"、");            //输出数组成员}}}}System.out.println("-----end-----");

遍历数组就是获取数组中的每个元素,foreach语句对于遍历数组更为简便。
运行结果:![在这里插入图片描述](https://img-blog.csdnimg.cn/20201021123905394.png#pic_center

  • 12.填充替换数组元素
{//语句块//填充替换数组元素int arr[]=new int[5];                             //创建int型数组Arrays.fill(arr,8);                               //数组填充,将8填充到数组的每个元素for (int i=0;i<arr.length;i++) {                  //循环遍历数组中的元素System.out.println("第"+i+"个元素是:"+arr[i]);//输出数组中的元素}System.out.println("-----end-----");int arr1[]=new int[]{45,12,2,10};                 //定义并初始化int型数组arr1Arrays.fill(arr1,1,2,8);                          //将8赋予指定范围的数组元素for(int j=0;j<arr1.length;j++){                   //循环遍历数组中的元素System.out.println("第"+j+"个元素是:"+arr1[j]);//输出数组的元素}}System.out.println("-----end-----");

填充替换数组元素的方法fill()需要通过Arrays类来调用,所以需要在定义类前导入java.util.Arrays;填充的范围是从第二个逗号前的数值到第三个逗号前数值,区间为左闭右开。
运行结果:在这里插入图片描述

  • 13.数组的排序、复制、查询
{//语句块//数组的排序、复制、查询int arr[]=new int[]{23,42,12,84,10};          //定义一维整型数组arr并赋值Arrays.sort(arr);                             //用sort方法对arr排序(升序)for(int i=0;i<arr.length;i++){                //遍历数组System.out.print(arr[i]+"  ");            //输出数组元素加空格}System.out.println();                         //换行int newarr[]=Arrays.copyOf(arr,8);            //复制数组arr的前8项,不够的补零for(int j=0;j<newarr.length;j++){             //遍历数组System.out.print(newarr[j]+"  ");         //输出新的数组元素}System.out.println();                         //换行int newarr1[]=Arrays.copyOfRange(arr,0,3);    //复制数组arr的第0元素到第3元素,不包括下标为3的元素for(int k=0;k<newarr1.length;k++){            //遍历数组System.out.print(newarr1[k]+"  ");        //输出新的数组元素}System.out.println();                         //换行int ia[]=new int[]{1,8,9,4,5};                //定义新的数组ia并赋值Arrays.sort(ia);                              //sort排序int index=Arrays.binarySearch(ia,4);          //查找数组ia中元素4的索引位置System.out.println("4的索引位置是:"+index);   //将索引输出}System.out.println("-----end-----");

运行结果:在这里插入图片描述

五、总结

通过此次任务我学会了Java语言的基础操作,以及多种注意事项,不管是变量的声明方法还是循环语句的中断过程,都需要注意一些细节的问题,比如do…while语句后的while()后要加;而while语句则不需要;,数组的填充以及复制语句中限定范围时必须小于数组的大小,而且区间都是前闭后开。


http://www.ngui.cc/el/3419333.html

相关文章

基本任务1.1Java语言基础(任务挑战)

任务挑战&#xff1a; 1.编制一个Java application应用程序&#xff0c;把数组中已知的10个数字由小到大排序后输出。 编程前思考&#xff1a; 完成数组排序的方法有多种&#xff0c;其中有调用Arrays类中的sort方法直接对数组进行由小到大的排序&#xff0c;还可以采用冒泡排序…

基本任务1.2Java面向对象程序

一、任务要求 完成一个Java application应用程序&#xff0c;描述一个人类。要求如下&#xff1a;要求此人类必须包含有人的姓名、性别、出生日期等基本属性&#xff08;变量&#xff09;。要求此人类描述吃饭的方法&#xff08;函数&#xff09;和描述睡觉的方法&#xff08;…

基本任务1.3Java API

完成一个 java application应用程序&#xff0c;可以接收用户通过键盘输入的文本&#xff0c;并输出此段文本字符的个数。 代码&#xff1a; package task; //包名 import java.util.Scanner; //导入Scanner类 public class JavaAPI { //创建类public static void…

Tensorflow的安装与配置

Tensorflow的安装与配置 经过多次的安装失败&#xff0c;找寻原因&#xff0c;最终安装成功。 1、基于之前安装的anaconda的基础上进行tensorflow的安装&#xff0c;首先通过按windows键和R键弹出运行框&#xff0c;输入CMD回车&#xff0c;进入cmd命令窗口&#xff0c;先查询…

基本任务1.4java异常捕捉机制

Java异常捕捉机制 任务要求&#xff1a; 一、完成一个 java application应用程序&#xff0c;完成ca/b 的计算并输出c的结果&#xff0c;可以为a和b在程序中赋初值、或者接收用户通过键盘输入a和b的数值文本后转换为数字等&#xff0c;在程序要求当 b 为0时c的计算结果正确。…

基本任务4.2WEB服务

任务要求&#xff1a; 一、学习Tomcat服务器的安装和配置&#xff0c;要求把其WEB根路径从默认值改为自定义的路径&#xff0c;要求把其WEB默认服务端口改为80。二、把基本任务4.1基本任务和挑战任务所完成的静态WEB页面放到WEB服务器根路径下&#xff0c;启动WEB服务器&#…

MySQL Server 5.5安装

MySQL数据库安装 一、下载安装包 网站&#xff1a;https://dev.mysql.com/downloads/installer/ 然后点击下载&#xff0c;也可以下载老版本。 二、安装 MySQL Server 5.5安装步骤如下&#xff1a;&#xff08;其余版本安装步骤略有不同&#xff09; 三、测试 在命令…

语音信号线性预测分析

语音信号线性预测分析 基本思想&#xff1a;一个语音取样的现在值可以用若干个语音取样过去值的加权线性组合来逼近&#xff08;最小均方误差&#xff09;。线性预测最重要的优势在于它可以较为精确地估计语音的参数&#xff0c;而这些极少的参数可以正确地表现语音信号的时域…

在vue中使用fastclick解决移动端300ms延时问题

第一步&#xff1a;安装插件 把fastclick这个包安装到项目的依赖之中&#xff0c;--save表示开发与上线都需要 npm install fastclick --save 第二步:在main.js中引入插件 import fastclick from fastclick 第三步:在body元素上使用插件 fastclick.attach(document.body)

如何实现洗牌算法?

day09 题目描述: 开发一款扑克游戏&#xff0c;需编写一套洗牌算法&#xff0c;公平的洗牌是将洗好的牌存储在一个整型数组里&#xff0c;每张牌被放在任何一个位置的概率是相等的. 解析: 定义一个洗牌函数&#xff0c;函数内用tmp数组存储1~54表示54张牌&#xff0c;然后对5…