java学习笔记
目录
[TOC]
https://www.runoob.com/java/java-enum.html
1.文件名需要和类名(class)一致
2.String args[] 和 String[] args 都可以运行 避免歧义推荐使用 String[] args
3.所有的类名每个单词首字母大写
4.所有的方法名小写字母开头 后面每个单词首字母大写
4.所有 java 程序都是由 public static void main(String[] args)方法开始执行
5.类名 变量名 方法名 都被称为标识符
6.所有标识符都应该以字母(A-Z,a-z)$ _ 开始,首字符之后可以是字母 美元符($)下划线(_) 或 数字
7.java 修饰符,修饰类中方法和属性
访问控制修饰符 default public protected private
非访问控制修饰符 final abstract static synchronized
8.一个源文件只能有一个 public 类
9.java包对类和接口进行分类
javac 用与将 java 源文件编译成 class 字节码文件
编译成功会出现 h.class 文件
java 后跟类名不 加扩展名.class
java h.java
javac h
Scanner
需要 import java.util.Scanner的内容
import java.util.Scanner;
原始 Demo
package java.com.xiaohu.xiaohupute;
import java.util.Scanner;
public class xiaohuPute {
private static double a,b,c,ext,sum1,sum2,delta;
private static boolean has_roots,has_same;
//程序入口 main 方法
public static void main(String[] args){
System.out.println("请输入a");
Scanner scanner = new Scanner(System.in);
a=scanner.nextDouble();
System.out.println("请输入b");
b=scanner.nextDouble();
System.out.println("请输入c");
c=scanner.nextDouble();
//关闭scanner 对象
scanner.close();
xiaohuPute xh = new xiaohuPute(a,b,c);
xh.judgeIsRoot();
if(has_roots){
xh.pute1();//sum1
xh.pute2();//sum2
xh.judgeIsSame();//has_same
if(has_same==true){
System.out.println(sum1+"\n");
}else{
System.out.println("结果 1 "+sum1+"\n"+"结果 2 "+sum2);
}}
}
// 构造器 形参:a,b,c
public xiaohuPute(double a,double b,double c){
//判别式的结果
delta=((b*b)-(4*a*c));
// 开方 Math.sqrt(x) 返回参数的算数平方根ext
ext=Math.sqrt(delta);
}
/*
* 判断是否有根 返回 boolean 类型的参数
* has_roots:true 有根
* has_roots:false 无根
* 并输出判断结果
*/
public boolean judgeIsRoot(){
if((delta>0) || (delta==0)){
has_roots=true;
System.out.println("有实根");
}else if(delta<0){
has_roots=false;
System.out.println("无实根");
}
return has_roots;
}
/*
* 判断根是否相同 并返回 boolean 类型的参数
* has_same:true 相同
* has_same:false 不相同
* 并输出结果
*/
public boolean judgeIsSame(){
if(delta==0){
has_same=true;
System.out.println("根相同");
}else if(delta>0){
has_same=false;
System.out.println("根不相同");
}
return has_same;
}
//计算 1
public double pute1(){
sum1=(-b+ext)/(2*a);
return sum1;
}
//计算 2
public double pute2(){
sum2=(-b-ext)/(2*a);
return sum2;
}
}
java的八种数据类型
其中数值类型有6种,分别是
不参与计算:
byte
short短整型
参与计算:
int整型
long 长整型
float 单精度浮点型
double双精度浮点型
其余的:
char字符类型 ,相加输出的值是Ascall码的值的和
boolean布尔类型
查看数据类型的长度
MAX_VALUE
MIN_VALUE
具体实现
//输出short最大长度 和最小长度
int minvalue=Short.MIN_VALUE;
int maxvalue=Short.MAX_VALUE;
System.out.println(minvalue);//-32768
System.out.println(maxvalue);//32767
2024-03-18
package com.xiaohu.test;
import java.util.Scanner;
public class hello {
public static void main(String[] args) {
/*
* java中数值类型8种
*
* 6种数值类型
* byte类型不参与计算加减乘除,作为数据转换的工具计量单位-128,127
* short短整型 不参与计算
*
* 可以参与运算
* int整型
* long长整型
* float单精度浮点
* double双精度浮点
*
* char字符类型 不可以相加 使用+后输出结果是Ascall code 相加
* Boolean布尔类型 只有两值 true和false,条件判断
*
*/
boolean flag=true;
if(flag) {
System.out.println("true");
}else {
System.out.println("false");
}
char c1='a',c2='b';
System.out.println(c1+c2);//195
System.out.println(c1);//a
//相加输出Ascall code相加值
int c3=30;
System.out.println(c1+c3);//127
System.out.println(c1+c2);//195
long la=Long.MAX_VALUE;
System.out.println(la);//9223372036854775807
//输出short最大长度 和最小长度
int minvalue=Short.MIN_VALUE;
int maxvalue=Short.MAX_VALUE;
System.out.println(minvalue);//-32768
System.out.println(maxvalue);//32767
//输出int的最大长度 和最小长度
int minValue=Integer.MIN_VALUE;
int maxValue=Integer.MAX_VALUE;
System.out.println(minValue);
System.out.println(maxValue);
//整型
int x=100;
int y=20;
int q=x-y;
System.out.println(q);
int t=x+y;
System.out.println(t);
int m=x*y;
System.out.println(m);
//单精度浮点数
float a=100f,b=3.0f;
float a1=100.0f;
System.out.println(a/3);
//双精度浮点数
double c=100d,d=3d;
System.out.println(c/d);
}
}
package com.xiaohu.test;
public class xh_inf {
//声明一个整型的变量
int xiaohu_age;
//构造器 参数 name
public xh_inf(String name) {
System.out.println(name);
}
public void setAge(int age) {
xiaohu_age=age;
}
public int getAge() {
System.out.println(xiaohu_age);
return xiaohu_age;
}
public int maxAge(int age1,int age2) {
return age1>age2?age1:age2;
}
public static void main(String[] args) {
xh_inf xiaohu = new xh_inf("xiaohu");
xiaohu.setAge(20);
xiaohu.getAge();
System.out.println(xiaohu.maxAge(1, 2));
System.out.println(xiaohu.maxAge(3,2));
System.out.println("实例xiaohu:"+xiaohu.xiaohu_age);
xh_inf xiaohu1 = new xh_inf("bobo");
xiaohu1.setAge(31);
xiaohu1.getAge();
System.out.println("实例xiaohu1:"+xiaohu1.xiaohu_age);
}
}
源码
/*
* import 语句 提供合理路径是编译器找到某个类
* 载入 java_installation/java/io路径下的所有类
* import java.io.*;
*
*/
public class Hello {
public static void main(String[] args){
System.out.println("hello world");
}
}
待修改 判断是否一元一次方程
package com.xiaohu.test;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
//Step1: get input tools
Scanner sa = new Scanner(System.in);
//Step2:input three number
System.out.println("请输入三个数");
System.out.println("请输入第1个数");
int a = sa.nextInt();
System.out.println("请输入第2个数");
int b = sa.nextInt();
System.out.println("请输入第3个数");
int c = sa.nextInt();
System.out.println("你输入的第一个值a:"+a);
System.out.println("你输入的第一个值b:"+b);
System.out.println("你输入的第一个值c:"+c);
//Step3:Judge
//a==0 bx+c=0
if(a==0) {
//是一元一次方程 bx+c=0
if(b==0) {
//不是方程
System.out.println("对不起,不能构成方程");
}else {
//bx+c=0 求x=-c/b
float m=-1*c;//自动转换
float n=b; //自动转换
float x=m/n;
System.out.println("方程是一元一次,跟x="+x);
}
}else {
//一元二次方程(ax*x+bx+c=0)的判断
//是一元二次方程
//根的判别式
int delta=b*b-4*a*c;
//ext开方后的delta
double ext=Math.sqrt(delta);
if(delta<0) {
System.out.println("为一元二次方程 但无实根");
//无根
}else if(delta==0) {
//根相同
double sum1=(-b+ext)/(2*a);
System.out.println("一元二次方程,两个相同根x1=x2="+sum1);
}else{
//跟不同
double sum1=(-b+ext)/(2*a);
double sum2=(-b-ext)/(2*a);
System.out.println("一元二次方程,两个不同根");
System.out.println("x1:"+sum1);
System.out.println("x2:"+sum2);
}
}
}
自增++i 和i++
package com.xiaohu.test;
public class test3 {
public static void main(String[] args) {
int a=5,b=0;
b=a++;//先赋值再自增
System.out.println(b);//5
System.out.println(a);//6
//先自增在赋值
b=++a;//7
System.out.println(b);//7
int
}
i=1
i++ i++ i-- ++i --i i-- i++ +100
s i
1 1 2
2 2 3
3 3 2
4 3 3
5 2 2
6 2 1
7 1 2
8 114
i=10
i++ ++i (++i)*i (i--)*(--i) i++ +100
s i
1 s1=10 i=11
2 s2=12 i=12
3 s3=13*13=169 i=13
4 (i--):s=13 i=12
(--i):s=11 i=11
s=13*11=143 i=11
5 s=11 i=12
6 +100=10+12+169+143+11+100
=445
}
https://tongyi.aliyun.com/qianwen/share?shareId=17c0415e-5b8e-4293-aa27-da1b5b654975
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »