第三章 方法入门

方法:就是将一个功能抽取出来,将代码单独定义在一个大括号内,形成一个单独的功能。当我们需要这个功能的时候,就可以去调用,这样即实现了代码的复用性,也解决了代码冗余的现象。

Demo11Method.java

/*
定义一个方法的格式:
public static void 方法名称() {方法体
}
方法名称的命名规则和变量一样,使用小驼峰。
方法体:也就是大括号当中可以包含任意条语句。注意事项:
1.方法定义的先后顺序无所谓。
2.方法的定义不能产生嵌套包含关系。me不能放到cook里面。
3.方法定义好了之后,不会执行的。如果要想执行,一定要进行方法的调用如何调用方法,格式:
方法名称();
*/
public class Demo11Method {public static void main(String[] args) {//农民/*System.out.println("播种");System.out.println("浇水");System.out.println("施肥");System.out.println("除虫");*///小商贩/*System.out.println("运输");System.out.println("抬价");System.out.println("出售");*///厨子/*System.out.println("洗菜");System.out.println("切菜");System.out.println("炒菜");System.out.println("装盘");*///我//System.out.println("吃");farmer();seller();cook(); //调用厨子方法me();}//mepublic static void me(){System.out.println("吃");}//cookpublic static void cook(){System.out.println("洗菜");System.out.println("切菜");System.out.println("炒菜");System.out.println("装盘");}//sellerpublic static void seller() {System.out.println("运输");System.out.println("抬价");System.out.println("出售");}//farmerpublic static void farmer() {System.out.println("播种");System.out.println("浇水");System.out.println("施肥");System.out.println("除虫");}
}

Demo12Notice.java

/*
对于byte/short/char三种类型,如果右侧赋值的数值没有超过范围
那么javac编译器将会自动隐含地为我们补上一个(byte)(short)(char)1.如果没有超过左侧的范围,编译器补上强转。
2.如果右侧超过了左侧的范围,那么直接编译器报错。
*/
public class Demo12Notice {public static void main(String[] args) {//右侧确实是一个int数字,但是没有超过左侧的范围,就是正确的//int-->byte,不是自动类型转换byte num1 = 30;//右边没有超过左侧的范围System.out.println(num1);//30//byte num2 = 128;//右侧超过了左侧的范围//System.out.println(num2);//报错//int-->char,没有超过范围//编译器将会自动补上一个隐含的(char)char zifu = 65;System.out.println(zifu);//A}
}

Demo13Notice.java

/*
在给变量进行赋值时,如果右侧的表达式当中全部都是常量,没有任何变量,
那么编译器javac将会直接将若干个常量表达式计算得到结果。
short result = 5 + 8;//等号右边全都是常量,没有任何变量参与运算
编译之后,得到的.class字节码文件当中相当于【直接就是】:
short result = 13;
右侧的常量结果数值,没有超过左侧的范围,所以正确。这称为“编译器的常量优化”。
但是注意,一旦表达式当中有变量参加,那么就不能进行这种优化了。
*/
public class Demo13Notice {public static void main(String[] args) {short num1 = 10;//正确写法,右侧没有超出左侧的范围short a = 5;short b = 8;//short + short -->int + int -->int//short result = a + b;//错误写法,左侧需要int类型//右侧不用变量,而是采用常量,而且只有两个常量,没有别人short result = 5 + 8;System.out.println(result);//short result2 = 5 + a + 8;////System.out.println(result2);报错}
}

第四天学习Java的笔记(方法入门,编译器优化)相关推荐

  1. 零基础快速学习Java技术的方法整理

    在学习java技术这条道路上,有很多都是零基础学员,他们对于java的学习有着很多的不解,不知怎么学习也不知道如何下手,其实Java编程涉及到的知识点还是非常多的,我们需要制定java学习路线图这样才 ...

  2. java 怎么改变值传递_学习Java值传递方法

    学习Java值传递方法-武汉北大青鸟 值传递是在一个函数中,调用另外一个函数,其中含有参数传递的情况.往往值传递就是把数据传递到另外一个函数中进行进一步处理,以更清楚地显示函数的表达意思.在函数调用的 ...

  3. 学习Java的最佳方法

    Java是某些人可能会说很难学习的语言之一,而其他人则认为它与其他语言具有相同的学习曲线. 两种观察都是正确的. 但是,由于Java具有平台无关性,因此在语言方面具有相当大的优势. Java是一种低级 ...

  4. 一起进阶学习JAVA:MySQL海量数据存储与优化

    一起进阶学习JAVA:MySQL海量数据存储与优化 第一部分 分库分表实战及中间件 1.1 背景介绍 1.1.1 背景描述 刚开始我们的系统只用了 单机数据库 随着用户的不断增多,考虑到系统的高可用和 ...

  5. 深入学习Java虚拟机笔记

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.走进Java 1.4.2 HotSpot VM 1.4.4 BEA JRockit/IBM J9 VM 1.6.1 ...

  6. 不知道怎么学习Java,这些方法助你成为Offer收割机!

    最近很多读者在问:Java 怎么学习啊?有没有什么学习路线? 我相信这些读者或多或少都有一些 Java 基础,但由于看不到全貌,学了一段时间很容易迷失.所以我在寻思着能不能写一个学习的地图或者路线,让 ...

  7. 从几个sample来学习Java堆,方法区,Java栈和本地方法栈

    2019独角兽企业重金招聘Python工程师标准>>> 最近在看<深入理解Java虚拟机>,书中给了几个例子,比较好的说明了几种OOM(OutOfMemory)产生的过程 ...

  8. 第12天学习Java的笔记(数组小练习,数组与方法)

    38天 求数组中的最大值 package day1201;public class Demo01ArrayMax {public static void main(String[] args) {in ...

  9. 《Java 核心技术卷1 第10版》学习笔记------ 组织继承:final类和方法【编译器优化:内联( inlining );】

    使用 final 关键字阻止继承 有时候,可能希望阻止人们利用某个类定义子类.不允许扩展的类被称为 final 类.如果在定义类的时候使用了 final 修饰符就表明这个类是 final 类. 例如, ...

最新文章

  1. 用 XStream 序列化/反序列化 XML 为 Java 对象(实例)
  2. 第十三节: EF的三种模式(三) 之 来自数据库的CodeFirst模式
  3. JLINK V9 修复小记
  4. Linux操作系统Ifconfig命令详细解析
  5. 《Kotlin进化之路》之【第二章:揭开Kotlin的基础面纱】(二)
  6. python从入门到精通pdf-跟老齐学Python从入门到精通
  7. 苹果手表出现,请在iphone 打开apple watch 应用,前生Passcode,轻点密码重试
  8. 宋宝华Linux培训笔记-Linux系统开发与工具
  9. js网页打印的4种方式和相关内容
  10. mac电脑如何找到usr文件夹
  11. 聊天群组营销-把小米磨成粉,再做成团
  12. html 中表格的拆分合并
  13. mybatis返回插入数据的自增长id
  14. XILINX XC7A200T-2FBG676C PLC可编程逻辑控制器
  15. 下一代降维打击黑科技现身中国
  16. windows ce 专题
  17. Linux 系统指令
  18. FAQ 检索式问答系统学习记录
  19. 在HTML中可以链接Word文档吗,网页用word打开-可以直接打开word文件的超链接在网页中, – 手机爱问...
  20. 打败苹果!小米销量跻身全球第二

热门文章

  1. numpy之reshape()
  2. 放大缩小保证div对齐_GraphPad Prism 绘图教程 | 如何在图表中对齐对象
  3. pandas pivot 计算占比_数据分析Pandas 基础(二)
  4. 2020-12-22 一些有用的开源软件
  5. EducationalCodeforcesRound62(Div. 2)(A-D题解)
  6. luogu P1231 教辅的组成
  7. LeetCode Best Time to Buy and Sell Stock II
  8. python相关软件安装
  9. 第二部分面向对像基础第五章
  10. makefile 学习(一)