Java之路---Day08
2019-10-22-22:28:39
目录
1.Static静态类
2.Static内存图
3.Static静态代码块
4.Arrays类
5.Math类
Static静态类
一旦使用static修饰成员方法,那么它就成为了静态方法,静态方法不属于对象,而是属于类的
注意:
1.如果没有static关键字修饰,那么必须首先创建对象,然后通过对象使用它
2.如果有了static关键字修饰,那么不需要创建对象,直接就能通过类名称来使用它
使用格式:
静态变量:类名称.静态变量
静态方法:类名称.静态方法
注意事项:
1.静态不能直接访问非静态(先有静态内容,后有非静态内容)
2.静态方法当中不能用this(this代表当前对象,通过谁调用的方法,谁就是当前对象)
package demopra; public class StaticText {
public static void main(String[] args) {
//首先创建对象
MyClass mc = new MyClass();
//然后才能使用没有静态static关键字的内容
mc.method(); //对于静态方法来说,可以通过对象名调用,也可以通过类名称调用
mc.methodStatic();//正确,不推荐使用这种方法
MyClass.methodStatic();//正确,推荐 //对于本来当中的方法可以省略类名称
myMethod();
StaticText.myMethod();//等效于myMethod();
} public static void myMethod(){
System.out.println("自己的方法");
}
}
package demopra; public class MyClass {
private int num;//成员变量
private static int numStatic;//静态变量 //成员方法
public void method(){
System.out.println("成员方法执行啦!!!");
//成员方法可以访问成员变量
System.out.println(num);
//成员方法可以访问静态变量
System.out.println(numStatic);
} //静态方法
public static void methodStatic(){
System.out.println("静态方法执行啦!!!");
//静态方法可以访问静态变量
System.out.println(numStatic);
//静态方法不可以访问非静态变量[重点]
// System.out.println(num);//Non-static field 'num' cannot be referenced from a static context
//静态方法中不能使用this关键字
// System.out.println(this);//'demopra.MyClass.this" cannot be referenced from a static context
}
}
Static内存图
Static静态代码块
格式:
public class 类名称{
static{
静态代码块内容
}
}
特点:
1.当第一次用到本类时,静态代码块执行唯一的一次
2.静态内容总是优先于非静态,所以静态代码块比构造方法先执行
典型用途:
用来一次性对静态变量进行赋值
Arrays类
java.util.Arrays是一个与数组相关的工具类,里面提供了大量静态方法,用来实现数组常见的操作。
public static string tostring(数组): 将参数数组变成字符串(按照默认格式,[元索1, 元素2,元索...])
public stotic void sort(数组): 按照默认升序(从小到大)对数组的元素进行排序。
备注:
1.如果是数值,sort默认按照升序从小到大
2.如果是字符串,sort默认按照字母升序
3.如果是自定义的类型,那么这个自定义的类需要有Comparable或者Comporator接口的支持。
package demopra; import java.util.Arrays; public class ArraysTest {
public static void main(String[] args) {
//定义一个int数组
int[] arr = {10,20,30};
//将int数组按照默认格式变成字符串
String arr1 = Arrays.toString(arr);
System.out.println(arr1);//[10, 20, 30] int[] arr2 = {50,10,40};
//按照默认大小进行升序
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));//[10, 40, 50] String[] arr3 = {"c","b","a"};
Arrays.sort(arr3);
System.out.println(Arrays.toString(arr3));//[a, b, c]
}
}
Math类
java.util.Math类是数学相关的工具类,里面提供了大量的静态方法,完成与数学运算相关的操作。
public. static double abs(double num); 获取绝对值。有多种重载。
public static double ceil(double num);向上取整。
public static double floor(double num);向下取整。
public static long round(double num): 四舍五入。
Math. PI代表近似的圆周李常量(double) 。
ckage demopra; public class MathTest {
public static void main(String[] args) {
//获取绝对值
System.out.println(Math.abs(-23));//23 //向上取整
System.out.println(Math.ceil(3.1));//4.0 //向下取整
System.out.println(Math.floor(3.9));//3.0 //四舍五入
System.out.println(Math.round(3.15));// }
}
package demopra;
/*
要求:计算对-8.8~11.1数值取绝对值(int)后,大于5或者小于1.1的值的个数
*/
public class MathTest {
public static void main(String[] args) {
//符合要求的数量
int count = 0;
double max = 11.1;//定义初始值max
double min = -8.8;//定义初始值min
for (int i = (int)min; i < max; i++) {
int abs = Math.abs(i);//取绝对值
if (abs>5 || abs < 1.1){//取值要求
System.out.print(i+" ");//-8 -7 -6 -1 0 1 6 7 8 9 10 11
count++;
}
}
System.out.println("总共有:"+count);//总共有:12
}
}
Java之路---Day08的更多相关文章
- Java之路——名词解释(一)
一.开篇 许多人在初接触Java的时候,都会被各种Java的英文缩写名词给弄得头晕脑胀.看一个技术,内容里又会有一堆其他的技术名词,看了半天不知所云.尝试去查一下这些名词的解释,除了非常学术性的解释之 ...
- Java之路——敬JAVA初学者(作者:MoMo)
作为一名大四的毕业生,大学三年过,有得有失.作为一个喜欢编程,喜欢JAVA的人,自学其实是一件美事,很有意思的事.要是能再找个女朋友一起学.嘿嘿,就不枉在大学走了一遭啊! 要离开学校了,还是想留 ...
- Java之路——环境配置与编译运行
本文大纲 一.开篇 二.JDK下载 三.JDK安装 四.环境配置 五.初识Java编译 六.Java与Javac 七.第一个Java程序 八.总结 九.参考资料 一.开篇 通过对之前Java之路的了解 ...
- Java之路 ——初识Eclipse
零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...
- 转行自学 Java 之路的纪念册
前言: 最近在重读<小狗钱钱>,我对其中的"成功日记"概念特别深刻,偶尔也会记一记“成功日记”. 想了想人生走找到今天,阶段性“成功日记”有没有呢? 有的!几年前的一篇 ...
- 是什么让我走上Java之路?
选择方向,很多人都为根据自己的兴趣爱好和自己的能力所长而作出选择.那么是什么让我走上Java之路? 整个高三我有两门课程没有听过课,一门是数学,一门是物理.当时候物理没有听课的原因很简单,我有一本&l ...
- 我的Java之路
前言: 之前在学习python,刚开始的时候跟多数小白一样学习一些基础的知识,比如数据类型,用法,基本的语言结构,学了一段时间实在是学习不下去了,真是太TMD的无聊了,很多方法都记不住,也不知道学了这 ...
- Java之路——初识Eclipse
零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...
- 如何快速成长?我的java之路!
由于一些外部的原因,我不得不从自己熟悉的php领域,转战到java战场.我个人觉得还是有些心得吧,不管怎么样,或多或少可能都会有那么些经历的人,和你一起走在这世上!尽管你不知道TA是谁. 其实,转换一 ...
随机推荐
- [Gamma阶段]第七次Scrum Meeting
Scrum Meeting博客目录 [Gamma阶段]第七次Scrum Meeting 基本信息 名称 时间 地点 时长 第七次Scrum Meeting 19/06/3 大运村寝室6楼 25min ...
- Linux下安装java及配置(yum安装)
1.查看java的所有版本:yum list java* 2.安装免费版1.8: yum install java-1.8.0-openjdk.x86_64 3.配置java环境 JAVA_HOME= ...
- 让Mac终端保持(SSH)与远程的连接状态
编辑 /etc/ssh/ssh_config 添加以下设置可解决这个问题: # 断开时重试连接的次数 ServerAliveCountMax 5 # 每隔5秒自动发送一个空的请求以保持连接 Serve ...
- Scrapy中的Settings
Settings Scrapy设置(settings)提供了定制Scrapy组件的方法.可以控制包括核心(core),插件(extension),pipeline及spider组件.比如 设置Json ...
- SpringMVC request 得到文件路径
1.java中的路径 File directory = new File("abc"); // 对于getCanonicalPath()函数,“."就表示当前的文件夹,而 ...
- Linux(CentOS)启动时自动执行脚本(rc.local)
一.Linux开机启动有多种方法,比如我设置mysql开机启动为:chkconfig --level 35 mysqld on 二.下面说说通过rc.local文件进行开机启动: 1.首先创建一个启动 ...
- python初级(302) 7 列表
一.列表的概念: 1.创建一个列表 friends = list() 2.列表可以包含的内容: m_list = [5, 7, 9, 20] letters = ['a', 'b', 'e'] 3.从 ...
- Spring Boot入门学习,解决复杂的spring配置文件及jar包
转载:https://www.cnblogs.com/wmyskxz/p/9010832.html 总结 为何出了这样的框架? Spring Boot 是所有基于 Spring 开发的项目的起点.Sp ...
- php删除目录及目录下的内容
今天遇到一个问题: java写的API,ppt转图片生成的目录和文件 在使用php调用API完成后,再使用php进行删除时,遇到了删除失败的问题 部署的环境是Ubuntu 导致删除失败的原因是权限的问 ...
- python/shell代码片段
查看某模块路径 Bash pip show --files selenium 文件编码转换 Bash convmv -f GBK -t UTF-8 --notest -r ydcz_1/ 查找当前目录 ...