Java基础
大小猫吃猫饼干
首先,在有限的时间内汲取营养,以量变达到质变;其次,创新的前提一定是来自于模仿,成功的前提一定来自于有不断纠正自己错误行为的坚持力。最后,一定要相信的一点是,坚持弄懂一个知识点的精力和时间不会白费,自己是个人而不是国家,精通一个知识点短时间内没有变现一定是时机还不到,只要自己坚持住,一定会有回报的时候。
展开
-
恶心至极的数据库连接not suitable driver for jdbc
数据库连接驱动原创 2022-06-11 16:19:45 · 106 阅读 · 0 评论 -
java之静态变量,方法/实例变量,方法的区别
1.区分标志。实例变量和实例方法,是指不用static修饰的变量和方法静态变量和静态方法则是用static修饰的变量和和方法。2. java对变量和方法的内存分配方式。静态修饰的方法和变量,属于类级别的,不单属于某个具体对象,可以理解为静态变量/方法是公共存储单元中的,对象1改变了静态变量,对象2中的静态变量也会随之改变。实例变量和实例方法,是属于具体对象的。类实例化一个对象,堆内存就会开辟对应这个对象的空间,实例变量和实例方法存在于这种空间中,而不是公共存储单元。所以对象之间对变量的操作互原创 2022-06-09 14:47:10 · 551 阅读 · 0 评论 -
java之构造方法全解
1. 构造方法的定义由Cylinder类所创建的对象,其成员变量都是在对象建立之后,再由相应的方法来赋值。如果一个对象在被创建时就完成了所有的初始化工作,将会很简洁。因此,Java语言在类里提供了一个特殊的成员方法——构造方法这句话的意思就是说,构造方法地是一种在类的对象被实例化时就执行的方法,而不需要实例化之后在调用对象的方法对成员变量进行操作。这样的操作节约了时间。构造方法(constructor)是一种特殊的方法,它是在对象被创建时初始化对象成员的方法2. 构造方法特点方法的名称必原创 2022-05-25 14:38:54 · 1804 阅读 · 0 评论 -
java之方法的重载
方法重载的定义在面向对象的程序设计语言中,有一些方法的含义相同,但带有不同的参数,这些方法使用相同的名字,这就叫方法的重载重载标志同一类中的方法方法名相同重载类型区别参数个数不同参数个数相同,但是参数类型不同...原创 2022-05-25 13:03:04 · 79 阅读 · 0 评论 -
java之公有方法访问私有变量
私有变量的访问当私有变量被定义的时候,如果直接通过object.变量的方式,是无法访问到调用类的变量的;若是调用类中有方法可以通过传参来给私有变量赋值,这种操作是可以的。被调用类class Cylinder { private double radius; 私有变量 private int height; private double pi = 3.14; public void setCylinder(double r, int h) { 传参私原创 2022-05-24 20:25:06 · 2427 阅读 · 1 评论 -
java之多类多方法
在同一个java程序中1.可以声明多个类,但是只有一个类可以被声明为public2.在其他类中实例化同一个java程序中的其他类时,与正常实例化java程序中只有一个类的情况没有任何区别package com.company; 同一java程序,两个类public class Trans { 类1 int temp; int [][]transpose(int[][] array) { for(int i=0;i<原创 2022-05-24 15:57:39 · 595 阅读 · 0 评论 -
java之可变参数传参
java中基本类型变量传参是传值,引用变量是传址;可变传参**…**是可变传参的标志public static void dis(int x,int...arg) { System.out.println(x); for(int i=0;i<arg.length;i++) { System.out.println(arg[i]); } } public static void mai原创 2022-05-24 15:43:24 · 1273 阅读 · 0 评论 -
java之类与对象2
内存问题A a=new A();这种方法,左面的是存在于栈内存中,相当于是堆内存中对象的一个名称,所以a是个引用变量。左面和右面是这样分配内存的,一开始a会在栈内存中被分配一块内存,但是不具体大小,右面new对象则是在堆内存中分配一块包括了这个类中所有成员变量和成员方法大小的一块内存空间,然后a会指向这块堆内存。值得注意的是A a=new A();A a2=new A();当同一个类实例化了两个对象时,会给这两个对象分配各自内存,所以每个内存中的成员属性不会因为一个对象赋值的改变而引起另一个对象原创 2022-05-24 13:20:14 · 77 阅读 · 0 评论 -
JAVA之修饰符
类的构成类{数据成员(类的属性=对象的属性=成员变量)函数成员{类的行为=对象的行为=成员方法}}成员变量可以是基本类型变量,也可以是对象、数组等引用型变量;类修饰符public:所有类都可以访问abstract:抽象类没有方法,需要子类继承并实现,无法穿件该类实例final:与abstract对立,非继承类缺省:只有相同包里面的独享才能使用该类成员变量修饰符public:可被任何对象的方法访问private:只允许自己类中的方法访问protected:除了本类及其子类或者同包中原创 2022-05-24 12:47:54 · 90 阅读 · 0 评论 -
java之字符串--回文字符串
string的所有关于字符个数的方法中,除了length()是输出所有字符个数外,其他的函数都是从0下标开始计数的String转换为Char类型,由String.toCharArray()函数,可以将String每个字符以数组形式放入char型数组。Char转换为String类型,可以用String.valueOf()方法。判断两个char字符相等与否,用“==”。最简单的方法就是将字符串颠倒赋值给另一个String变量,让两个变量比较。public static void main(String原创 2022-05-19 17:45:25 · 3254 阅读 · 0 评论 -
java之字符串
字符常量是用单引号(')括起来的单个字符,而字符串常量是用双引号(")括起来的字符序列字符串是引用变量String 变量的声明格式一 . String 变量名=new String(“字符串”);二. String 变量名;//引用型变量,不分配实际空间变量名=new String(“字符串”);//在堆内存中分配内存空间,并将引用变量指向字符串首地址。三. Sting 变量名=“字符串”;(最常用)String常用函数方法 (形式:变量名.函数名)1. split()public sta原创 2022-05-19 11:42:28 · 126 阅读 · 0 评论 -
java之多维数组
多维数组,就是数组元素也是数组的数组java中的多维数组与c/c++语言中的多维数组不同,例如c/c++中要求二维数组必须是矩形的,但是在java中,这个要求不成立。即行是行,列是列。如图:public static void main(String[] args) throws IOException { // write your code here int [][]a={{1,2,3},{4,5,},{6,7,8}}; System.out.pri原创 2022-05-15 18:38:06 · 325 阅读 · 0 评论 -
java之foreach语句
foreach语句只需提供三个数据:元素类型、循环变量的名字(用于存储连续的元素)和用于从中检索元素的数组public static void main(String[] args) throws IOException { // write your code here int arry[]={1,2,3}; for (int x:arry) { System.out.println(x); } }1.原创 2022-05-15 17:04:01 · 311 阅读 · 0 评论 -
java之数组
数组形式(数组是在堆中被分配内存)int []x=new int[13];等号左边的int[]x相当于定义了一个特殊的变量x,x的数据类型是一个对int型数组对象的引用,x就是一个数组的引用变量,其引用的数组元素个数不定。等号右边的new int[10]就是在堆内存中创建一个具有10个int型变量的数组对象。“int[]x=new int[10];”就是将右边的数组对象赋值给左边的数组引用变量Java语言是将“[]”放到数组名的前面,但也可以像C/C++语言的定义方式将“[]”放在数组名的后原创 2022-05-15 16:59:58 · 261 阅读 · 0 评论 -
java之流程控制习题
1. 将学生的学习成绩按不同的分数段分为优、良、中、及和不及格五个等级,从键盘上输入一个0~100的成绩,输出相应的等级。要求用switch语句实现。switch的入口由case决定,出口由break决定 System.out.println("请输入学生成绩:"); Scanner cin = new Scanner(System.in); double grade; do { grade = cin.nextDouble();原创 2022-05-14 23:03:25 · 1355 阅读 · 0 评论 -
java之for循环语句几种使用方式
for语句的三个表达式都可以为空,但是,若条件表达式也为空,则表示当前循环是一个无限循环,需要在循环体中书写另外的跳转语句来终止循环。1.常用型:for(表达式1;条件表达式;表达式2)例:求1到10的加和int sum=0,j=1;for(;j<11;j++) { sum+=j; }System.out.println(sum);2.多重循环(嵌套型)例:求100以内的素数并输出素数(除了1和它本身之外不能被其它数所除的数)...原创 2022-05-14 21:04:23 · 1668 阅读 · 0 评论 -
java之最大公约数(公因数)辗转相除法
最大公约数12和6的公约数2与3中,3是最大公约数。辗转相除法gcd (a, b)=gcd (b, a%b), 0≤a%b<b。do { k=a%b;//始终让大的对小的取余,直到区域结果为0 a=b; b=k; }while(k!=0);结果请输入第一个数:7请输入第二个数:3gcd(7,3)=1...原创 2022-05-14 20:02:39 · 234 阅读 · 0 评论 -
java之数据类型输出
在java中,不可以直接声明超出int数据类型规定大小范围的数。例如int x=999999999999999999,这个是无法声明的,需要将其设置为long长整型,即long x=999999999999999l,尾缀为l表示为long型。同理,float类型声明也不可以直接声明为12.56,需要在末尾数字后面尾缀f,即 float c=21.34f,只有这样才可以声明。判断输入流中是否有双精度浮点数Scanner cin=new Scanner(System.in); while(c原创 2022-05-14 14:31:49 · 2718 阅读 · 0 评论 -
java之输入方法之别与str类型转换成int类型
int a=0,b=1,n,num;String str;BufferedReader buf;buf=new BufferedReader(new InputStreamReader(System.in));System.out.println("请输入一个正整数 ");str=buf.readLine();//从键盘上读字符串赋给变量strnum=Integer.parseInt(str);//将string类型转换为int类型这种输入方法输入的都是字符串形式,如果输入格式数字字符串,需原创 2022-05-13 22:18:46 · 254 阅读 · 0 评论 -
java之Switch多分支多条件共用语句
public static void main(String[] args) throws IOException { // write your code here int month, days; Scanner cin = new Scanner(System.in); System.out.print("请输入月份:"); month = cin.nextInt(); switch (month)//值必原创 2022-05-13 21:40:21 · 13137 阅读 · 0 评论 -
java之Switch多分支语句
public static void main(String[] args) throws IOException { // write your code here int a = 100, b = 6; char oper; System.out.print("请输入运算符:"); oper = (char) System.in.read(); switch (oper)//值必须是整型或者字符型原创 2022-05-13 21:25:01 · 126 阅读 · 0 评论 -
java之多分支语句Switch
char oper;System.out.print("请输入运算符:");oper= (char) System.in.read();读入一个char字符,无法用nextline()方法,可以用这个方法来读,更多要了解的可以读源码。原创 2022-05-13 21:19:50 · 121 阅读 · 0 评论 -
java之三个数取最大最小值
三个数,从里面取出最大值最小值。设置max和min,先让两个数比较将结果数赋予max或者min,然后再将最后一个数与max或者min比较,这样减为一个。 public static void main(String[] args) { // write your code here int a=1,b=2,c=3,max,min; if(a>b) { max=a; }else {原创 2022-05-13 21:00:03 · 4391 阅读 · 0 评论 -
java的运算符
算术运算符1.单目运算符: ~(按位取反),!(取非),-(负号运算符)、 ++(自增)、 - -(自减)2.双目运算符:+ - * / %(取余)3.三目运算符:a>b?T:F(意思是a是否大于b,若是大于就是ture,否则就是false)关系运算符等于符号:==,不等于符号:!= ,大于符号:>, 小于符号:<,大于等于符号:>= ,小于等于符号:<= 。位与逻辑运算符1.位运算符 与(&)、非(~)、或(|)、异或(^)| :当两边操作数的位有一边原创 2022-05-13 20:30:48 · 142 阅读 · 0 评论 -
java之数据类型转换
byte(1个字节)<(short<char(2个字节))<int(4个字节)<float(4个字节)<double(8个字节);优先级从低到高从低到高时,在计算过程中,会自动由低向高转化;从高到低计算时,必须强制转换,但是强制转换会缺失一定的精准度。除此之外,在java语言中,当出现 float 定义时,数值要进行强制转换,如下:float b=(float)12.5;但是当用double定义时,直接写数值就好,如下:double a= 12.5;暂时未原创 2022-05-13 20:06:34 · 110 阅读 · 0 评论