一:自定义函数

由于JAVA中都是由类组成,所以想实现类似于函数的功能,直接使用main主函数进行调用,就需要使用静态类方法,直接调用,而不需要实例对象
public class HelloWorld {
public static int a=; //成员变量 public static int func(int b) { //成员方法
a+=b;
return a;
} public static void main(String[] args) {
int b=;
b=func(b);  //或者HelloWorld.func(b)
System.out.println(b); // TestFunc.say(); }
} //public class TestFunc出现两个public在同一个java文件中是错误的
class TestFunc{  //默认是default类型
public static void say() {
System.out.println("I come from TestFunc");
}
}
.函数必须放在类的范围内• 修饰词(public 或者 static) 返回值(int 或者void),函数名(形参列表) {函数体}
.通常情况下,我们都建议方法是public。
.函数可以调用其他的函数,例如上例中,main函数调用了add函数。
.递归函数调用,需要注意终止性。
.同一个类中,函数名称可以相同,即重载函数(overload),但是函数参数的个数或者类型必须有所不同
.不能以返回值来区分同名的函数
public class HelloWorld {
public static int a=; //成员变量 public static int func(int b) { //成员方法
a+=b;
return a;
} public static void func() { //成员方法  //重载,主要区别是传参不同,函数名一致
System.out.println("overwrite");
} public static void main(String[] args) {
int b=;
b=HelloWorld.func(b);
System.out.println(b); //
HelloWorld.func(); //overwrite
TestFunc.say();
}
}

二:补充类的类型

默认的是default 不需要书写

public:

Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。

private:

Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。

protect:

介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。

default:(不同于C++的地方)

即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。

三:作业

请实现程序输出以下5*5数字方格。

需要在main函数的输入参数中设置5,输出5*5的数字方格。如果是输入7,则是7*7的数字方格。
    public static void main(String[] args) {
int count=;
Scanner in=new Scanner(System.in);
count=in.nextInt();
for(int i=;i<=count*count;i++) {
System.out.printf("%5d",i);
if(i%count==) {
System.out.println();
}
}
}

JAVA核心技术I---JAVA基础知识(函数)的更多相关文章

  1. 《Java核心技术·卷Ⅰ:基础知识(原版10》学习笔记 第5章 继承

    <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1 ...

  2. Java核心技术 卷1 基础知识-第一天

    基本数据类型 java是一种强数据类的的语言 共有8种基本数据类型 其中: 整型4种 int(4字节) short(2字节) long(8字节) byte(1字节) java中整型的范围与机器无关 长 ...

  3. [Java面试三]JavaWeb基础知识总结.

    1.web服务器与HTTP协议 Web服务器 l WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. l Internet上供外界访问的Web资源分为: • 静 ...

  4. java 程序运行的基础知识【Java bytecode】

    聊聊文字,写一篇关于 java 基础知识的博文. JVM 线程栈 到 函数运行 每一个JVM线程来说启动的时候都会创建一个私有的线程栈.一个jvm线程栈用来存储栈帧,jvm线程栈和C语言中的栈很类似, ...

  5. Java中浮点数的基础知识

    偶然查看Math.round的JDK public static int round(float a) { if (a != 0x1.fffffep-2f) // greatest float val ...

  6. Java学习之旅基础知识篇:面向对象之封装、继承及多态

    Java是一种面向对象设计的高级语言,支持继承.封装和多态三大基本特征,首先我们从面向对象两大概念:类和对象(也称为实例)谈起.来看看最基本的类定义语法: /*命名规则: *类名(首字母大写,多个单词 ...

  7. Java学习之旅基础知识篇:数据类型及流程控制

    经过开篇对Java运行机制及相关环境搭建,本篇主要讨论Java程序开发的基础知识点,我简单的梳理一下.在讲解数据类型之前,我顺便提及一下Java注释:单行注释.多行注释以及文档注释,这里重点强调文档注 ...

  8. Java Script 学习笔记 -- 基础知识

    Java script 概述 java Script 的简介 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为 ...

  9. Java学习1——计算机基础知识

    本文包含了一些计算机基础知识:计算机组成:Windows常用快捷键:DOS常用命令:计算机语言发展史.

  10. JAVA面试题相关基础知识

        1.面向对象的特征有哪些方面 ①抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节 ...

随机推荐

  1. Codeforces Round #467 Div. 1

    B:显然即相当于能否找一条有长度为奇数的路径使得终点出度为0.如果没有环直接dp即可.有环的话可以考虑死了的spfa,由于每个点我们至多只需要让其入队两次,复杂度变成了优秀的O(kE).事实上就是拆点 ...

  2. Typora——安装Pandoc

    安装 打开typora,帮助-> Install and Use Pandoc  |  访问在线地址 https://support.typora.io/Install-and-Use-Pand ...

  3. HDU1890-Robotic Sort-Splay

    #include <cstdio> #include <algorithm> #include <cstring> using namespace std; #de ...

  4. DrawableAnimation小练习

    DrawableAnimation,也就是帧动画,将图片一张张显示出来,从而形成动画的效果 先在项目文件夹下新建一个目录drawable,然后在里面新建一个xml文件,自定义文件名,我的叫my_ani ...

  5. [USACO07JAN]Cow School

    题目链接:[USACO07JAN]Cow School 一开始还以为是一道分数规划,后来发现自己看错题了, 然后成功入坑 题目是要求先按照$t_i/p_i$从小到大排序,然后删除前$d$个后求出剩下的 ...

  6. pycharm修改注释颜色

    原来的注释是红色的,看着跟报错似的.. 还有flask中html文件的注释,我修改了Django的注释颜色,flask也就改了 也可以直接点击下面的代码,哪里难看点哪里

  7. haar的简单应用(1)

    又双叒叕出现问题了,还是重置系统的原因,弄半天终于弄好了,就不说这个了 直接记录一下该做的 如下教程中的文件我倒是都找到了(但是这些文件在目前的代码中都用不到..) 在这里 令我无语的他只用了一个.x ...

  8. 【BZOJ1022】小约翰的游戏(博弈论)

    [BZOJ1022]小约翰的游戏(博弈论) 题面 BZOJ 题解 \(Anti-SG\)游戏的模板题目. #include<iostream> #include<cstdio> ...

  9. ubuntu配置mysql

    1.安装mysql: sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install ...

  10. 编写高质量代码:改善Java程序的151个建议 --[78~92]

    编写高质量代码:改善Java程序的151个建议 --[78~92] HashMap中的hashCode应避免冲突 多线程使用Vector或HashTable Vector是ArrayList的多线程版 ...