初学java笔记(含遇到的问题及解决方法)

2023-10-27

//java浮点数保留n个小数位问题
法一:

import java.text.DecimalFormat;
        DecimalFormat res  = new DecimalFormat("0.000");
        System.out.println(res.format(使用格式化的浮点数数));

法二:

System。out.printf("%n.mf",浮点数)

方法一:使用printf

System.out.printf(“%4.2f/c/b(布尔值)/d/e/s(字符串)”);
默认情况下,浮点值显示小数点后六位
%e要求必须是浮点型的值
要在格式里输出直接量%,必须使用%%
例如:

import java.text.DecimalFormat;
import java.util.Scanner;
 
public class cicle {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int r = in.nextInt();
		double d = r * r * Math.PI;
		DecimalFormat df = new DecimalFormat("#0.0000000");
		System.out.println(df.format(d));
		System.out.printf("%.7f",d);
	}
}

方法二: 使用DecimalFormat

BigDecimal类:是为了更加精确的存储小数,精确的表示、计算浮点数的运算;不可变的、任意精度的有符号的十进制数;

DecimalFormat df = new DecimalFormat("#0.0000000");
System.out.println(df.format(d));
//#0.00代表保留两位小数

//java多实例(无结束条件)
 Scanner  in=new Scanner (System.in);
        while(in.hasNext())
        {
        ........
        }

//判断两个浮点数的大小方法

Math.abs(a-b)<1e6

//java定义函数
Java的函数必须定义在类的内部,成为类的成员。定义一个函数,要像这样写:

<返回类型> <方法名称>(<参数表>) {

<方法体>

}


public static void  dfs(int x,int y){
..............
}

封装:

1、封装的代码实现两步:

第一步:属性私有化

第二步:1个属性对外提供两个set和get方法。外部程序只能通过set方法修改,只能通过get方法读取,
可以在set方法中设立关卡来保证数据的安全性。

在强调一下:
	set和get方法都是实例方法,不能带static。
	不带static的方法称为实例方法,实例方法的调用必须先new对象。

	set和get方法写的时候有严格的规范要求:(大家要按照规矩来)
		set方法长这个样子:
			public void set+属性名首字母大写(1个参数){
				xxx = 1个参数;
			}
		get方法长这个样子:
			public 返回值类型 get+属性名首字母大写(无参){
				return xxx;
			}

// setter and getter方法


	public void setTitle(String s){
		//title = s;
	}
	public String getTitle(){
		//return title;
	}

2、static关键字和this关键字

static的重点以及结论

2.1、static修饰的统一都是静态的,都是类相关的,不需要new对象。直接采用“类名.”访问。
2.2、当一个属性是类级别的属性,所有对象的这个属性的值是一样的,建议定义为静态变量。

static修饰的方法静态方法 static修饰的变量静态变量
static修饰的都用“类名.”访问。(都不需要new对象,就能访问)
static{} 是静态代码块,在类加载时执行,并执行一次。
{} 实例语句块,在构造方法执行前执行,构造一次执行一次。
static的也能用“引用.”的方式访问,不过运行时仍然和此对象无关,
空指针异常充分的说明了以上的结论。(用空引用访问静态的不会出现空指针异常)

this的重点以及结论

this用法就两个:this. 和 this()
this不能用在静态方法中。只能使用在实例方法中。
this. 大部分可以省略,区分局部变量和实例变量的时候不能省略。
this() 只能出现在构造方法第一行,通过当前构造方法调用本类其它构造方法,代码复用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

初学java笔记(含遇到的问题及解决方法) 的相关文章

随机推荐

  • Docker Swarm集群搭建以及服务命令等操作

    前言 之前都是采用rancher可视化管理工具进行管理K8S进一步管理容器 但是每次机器宕机后rancher中集群特别容易挂掉 出现的问题五花八门 在网上很难搜到解决方案 所以准备采用docker官方集群管理平台Swarm管理容器 一 do
  • The Reactive Manifesto(响应式宣言)

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 版本 2 0 2014 年 9 月 16 日发布 在不同领域中深耕的组织都在不约而同地尝试发现相似的软件构建模式 希望这些系统会更健壮 更具回弹性 更灵活 也能更好地满足现
  • oracle 分区表 详

    转载自 http blog itpub net 31401608 viewspace 2147665 1 表空间及分区表的概念 表空间 是一个或多个数据文件的集合 所有的数据对象都存放在指定的表空间中 但主要存放的是表 所以称作表空间 分区
  • 入站规则和出站规则_关于防火墙入站(inbound)出站(outbound)方式的解释

    防火墙是一个重要的安全模块 它能够限制网络的访问 现在有一个要求那就是要让主机A能够访问主机B 主机B不能访问主机A 那么防火墙能够做到么 答案是可以的 当主机A的防火墙入站规则限制了主机B 那么主机B想访问主机A的时候 发出的网络包确实会
  • Echart 地图开启缩放之后,中心点位置偏移

    把 geo center 设为 undefined geo map china center undefined roam true
  • Nginx流控限制

    Nginx流控 流量限制 rate limiting 是Nginx中一个非常实用 却经常被错误理解和错误配置的功能 我们可以用来限制用户在给定时间内HTTP请求的数量 请求 可以是一个简单网站首页的GET请求 也可以是登录表单的POST请求
  • .ajax表单校验插件,表单验证插件——validate

    表单验证插件 表单验证插件 邮箱 function frmV validate 自定义验证规则 rules 错误提示位置 errorPlacement function error element error appendTo tip di
  • 什么是用户增长? (超详细)

    一 概况 原因 随着人口红利的衰减 互联网流量红利的马太效应显现 这意味着成本的大幅度增加 企业必须改变过去粗放型的营销和运营方式 用更高效更低成本实现快速增长 定义 通过实验和数据驱动 聚焦整个用户生命周期的方法论 在任何一家公司 任何业
  • jetbrains全家桶

    到期时间 19年6月份 SXXI7H41YN eyJsaWNlbnNlSWQiOiJTWFhJN0g0MVlOIiwibGljZW5zZWVOYW1lIjoicGF5bmUgd2FuZyIsImFzc2lnbmVlTmFtZSI6IiIsI
  • C++项目:高并发内存池

    文章目录 项目介绍 什么是内存池 池化技术 内存池 malloc 页 定长的内存池 对比测试 高并发内存池整体框架设计 thread cache 整体设计 哈希桶映射对齐规则 TLS无锁访问 Central Cache Span SpanL
  • 时分秒与时间戳相互转化(sys.argv)

    import sys 把时分秒转化为时间戳 def countDown time s 0 hour time split 0 min time split 1 sec time split 2 s int hour 3600 int min
  • MKL的矩阵运算

    矩阵与矩阵的乘法 分为双精度的cblas sgemm和单精度的cblas sgemm 两个函数的参数意义一样 只是类型不一样 运算式 C alpha A B beta C 一般取alpha 1 0 beta 0 0 即计算式 C A B c
  • LateX环境安装与配置--包括常见安装失败错误更正(TeX Live 2021及TexStudio)

    目录 一 前言 二 下载镜像文件 1 打开网址 点击 On DVD 2 点击下载ISO镜像文件 3 选择一个最近的镜像网站进行下载 4 下载镜像文件 5 打开镜像文件 三 安装 1 修改安装内容及目录 2 出错问题 lt 1 gt 此电脑
  • pandas从mongo中导出数据存入excel或csv

    import pandas as pd import pymongo mongo不带密码连接 con pymongo MongoClient ip mongo带密码连接 con pymongo MongoClient mongodb for
  • SQL_les0/基础知识/联合注入常用语句与相关技巧

    SQL注入 一种针对数据库的攻击方式 危害 数据被破坏 数据被篡改 原理 攻击者通过构造不同的SQL语句来实现对数据库的操作 常见数据库 Oracle SQL Server DB2 PostgreSQL MySQL Access 使用SQL
  • 【图像去雾】Contrastive Learning for Compact Single Image Dehazing阅读

    论文 https arxiv org pdf 2104 09367 pdfhttps arxiv org pdf 2104 09367 pdf 代码 https github com GlassyWu AECR Nethttps githu
  • MongoDB修改数据库名,collection名库名

    修改数据库名 db copyDatabase test test1 db copyDatabase old name new name use test use old name db
  • Qt之读写文件

    1 思路 读写文件的基本操作 读文件 写文件 打开文件 打开文件 读取文件 写入文件 关闭文件 关闭文件 2 QFile实现读写文件 QFile类提供读写文件的接口 它的构造函数如下 QFile const QString name QFi
  • iOS架构师_观察者模式

    定义 观察者模式 有时又被称为模型 视图 View 模式 源 收听者 Listener 模式或从属者模式 一个目标物件管理所有相依于它的观察者物件 并且在它本身的状态改变时主动发出通知 这通常透过呼叫各观察者所提供的方法来实现 此种模式通常
  • 初学java笔记(含遇到的问题及解决方法)

    java浮点数保留n个小数位问题 法一 import java text DecimalFormat DecimalFormat res new DecimalFormat 0 000 System out println res form