Java类基础知识
java类结构和main函数
类
Java文件必须以.java作为扩展名
一个Java文件只能有一个public class
public class 的名字必须和文件名字一样,大小写都要完全一致
一个文件可以有多个class,但是只能有一个是public。不提倡一个文件夹里面放多个类(内部类除外)
System.out.print 输出
System.out.println 换行输出
- 类是Java中的最基础逻辑单位。
- Java所有的内容都是需要放在类的范围中
- 内容不允许游离在类以外
- 换言之,Java项目就是由一个一个类组成的。
- 类的构成:变量和函数
Main函数
一个class最多只能有一个main函数,类可以没有main函数,但是没有main函数的类就不能主动执行,但是可以被动执行(被别人调用执行)。
程序的入口都是main函数,这点和C/C++一致。有一点不同的是,java要求所有的程序都必须放在类对象中,即所有代码都要放在class所辖的范围内。
main函数的形参和前缀修饰符public,static,void等都不能省略,是固定写法。可以简单记忆为PSVM。
从严格意义上说,main函数不属于这个类的所拥有函数。
只是因为Java要求所有的内容都必须放置在class的范围内,所以main函数“寄居”在某一个class中。
main函数是一个Java程序的总入口。
main函数也无法被其他方法,类所调用。
一个Java程序可以调用多个其他Java class。
String[]args是main的形参,即在main函数中可以使用args的值。
总结:
- 类是Java程序最小独立单元。
- 类包括成员变量和成员方法。
- main函数是程序启动的总入口。
- main函数的形参args是外界提供给main函数的形参,可以在main函数中使用。
基本类型和运算符:
Java中有八个基本类型,它们分别是boolen布尔,byte字节,short/int/long 短整数/整数/长整数,float/double浮点数,char字符。
boolen布尔变量
只有true和false两种值,默认是false。
以下几种情况都是错误的:
bool a=True;//错误
bool a=TRUE;//错误
bool a=1;//错误,不能够将整数赋给布尔变量
注意:java中的bool变量true和false之间没有谁大谁小,它们间也无法比较大小
byte字节类型
1byte=8bits(8位)
存储有符号的,以二进制补码表示的整数。
最小值-128,最大值127,默认值0。
byte在二进制文件读写中使用得多。
当给的数字超过了byte所能表示的范围时可以参考下面这张图。
短整数/整数/长整数 略,跟C++的差不多。
float/double浮点数类型
float和double都不能用来表示很精确的数字。
运算符优先级问题:
自定义函数
public class FunctionTest
{
public static void main(String[] args)
{
int a,b,c;
a=1;
b=2;
c=FunctionTest.add(a,b);
System.out.println("c is"+c);
}
public static int add(int m, int n)//函数定义
{
return m+n;
}
}
函数必须放在类的范围里。
修饰词(public或static)返回值(int 或 void),函数名(形参列表){函数体}。
通常情况下,我们都建议方法是public。
函数可以调用其他的函数,如上例中,main函数调用了add函数。
接下来是用java写的用来计算阶乘的函数。
public class FactorialTest
{
public static void main(String[] args)
{
int a=5;
int b=factorialCalculation(a);调用函数计算a!
System.out.println("The factorial of"+a+"is"+b);
}
public static int factorialCalculation(int m)//函数定义
{
if (m>1)
return m*factorialCalculation(m-1);
else
return 1;
}
}
同一个类中,函数名称可以相同,即重载函数。但形参的返回值类型或者个数必须有所不同。
不能以返回值来区分同名的函数。
原文地址:https://www.cnblogs.com/Acapplella/p/13301215.html
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 9个 SSH常用命令选项
- DietPi折腾记
- DietPi配置问题(1)
- DietPi配置问题(2)
- 什么是死锁?如何解决死锁?
- Mac终端配置oh-my-zsh
- 聊聊dubbo-go的leastActiveLoadBalance
- ThreadLocal与InheritableThreadLocal
- 每天学点JavaScript基础(1)—— null 和 undefined
- 每天学点JavaScript基础(2)——JavaScript里的分号,你加还是不加?
- Flutter中async与await异步编程原理分析
- 在树莓派上使用360WIFI
- Orange PI Zero OpenWrt固件
- 定制用于日常使用的树莓派系统
- adb网络调试重启后不关闭得方法